嗨,我试着用django -导入-导出从django postgresql导出数据,并且面临着解析外键id到名称/标题的问题,这个问题是通过下面的方法解决的,并成功地提取了数据。
class MemberResource(resources.ModelResource):
Brand=Field()
class Meta:
model = model
fields=('id','title','Model_code','Chipset','chipset_description','image','Brand','Cat')
export_order=('id','title','Model_code','Chipset','chipset_description','image','Brand','Cat')
def dehydrate_Brand(self, obj):
return str(obj.Brand.title)
class modelAdmin(ImportExportModelAdmin):
resource_class = MemberResource
list_display=['id','title','Model_code','Chipset','chipset_description','Brand','categories']
search_fields = ['title','Model_code','Chipset',]
fields=('title','Model_code','Chipset','chipset_description','image','Brand','Cat')
admin.site.register(model,modelAdmin)现在,我希望使用相同的导出xls将数据导入/上载回数据库,而不插入外键的ID和外键的名称。需要指导,以补充数据。我也尝试了下面的水合物法。
def hydrate_Brand(self, obj):
return str(obj.Brand.title)def没有显示任何错误,但是数据也没有导入到数据库中。
发布于 2022-07-18 11:28:55
问题是外键脱水,只给出只读数据,只用于导出,仅用于导入,我们需要使用小部件来解决外键问题,并将数据导入数据库。
链接到文档
class MemberResource(resources.ModelResource):
Brand = fields.Field(
column_name='Brand',
attribute='Brand',
widget=ForeignKeyWidget(brand, 'title'))
class Meta:
model = model
fields=('id','title','Model_code','Chipset','chipset_description','image','Brand','Cat')https://stackoverflow.com/questions/73018241
复制相似问题