def obj_update(self, bundle, **kwargs): if 'data_type_id' not in bundle.data: raise BadRequest("data_type_id must be specified") try: bundle.obj = FixtureDataItem.get(kwargs['pk']) except ResourceNotFound: raise NotFound('Lookup table item not found') if bundle.obj.domain != kwargs['domain']: raise NotFound('Lookup table item not found') save = False if 'fields' in bundle.data: save = True bundle.obj.fields = { field_name: FieldList.wrap(field_list) for field_name, field_list in bundle.data['fields'].items() } if 'item_attributes' in bundle.data: save = True bundle.obj.item_attributes = bundle.data['item_attributes'] if save: bundle.obj.save() return bundle
def _create_data_item(self, cleanup=True): data_item = FixtureDataItem(domain=self.domain.name, data_type_id=self.data_type._id, fields={ "state_name": FieldList.wrap({ "field_list": [ { "field_value": "Tennessee", "properties": { "lang": "en" } }, { "field_value": "田納西", "properties": { "lang": "zh" } }, ] }) }, item_attributes={}, sort_key=1) data_item.save() if cleanup: self.addCleanup(data_item.delete) return data_item
def _create_data_item(self, cleanup=True): data_item = FixtureDataItem( domain=self.domain.name, data_type_id=self.data_type._id, fields={ "state_name": FieldList.wrap({ "field_list": [ {"field_value": "Tennessee", "properties": {"lang": "en"}}, {"field_value": "田納西", "properties": {"lang": "zh"}}, ]}) }, item_attributes={}, sort_key=1 ) data_item.save() if cleanup: self.addCleanup(data_item.delete) return data_item