首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对脱水数据进行水合物处理并导入数据库

如何对脱水数据进行水合物处理并导入数据库
EN

Stack Overflow用户
提问于 2022-07-18 06:45:28
回答 1查看 38关注 0票数 1

嗨,我试着用django -导入-导出从django postgresql导出数据,并且面临着解析外键id到名称/标题的问题,这个问题是通过下面的方法解决的,并成功地提取了数据。

代码语言:javascript
复制
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和外键的名称。需要指导,以补充数据。我也尝试了下面的水合物法。

代码语言:javascript
复制
def hydrate_Brand(self, obj):
        return str(obj.Brand.title)

def没有显示任何错误,但是数据也没有导入到数据库中。

EN

回答 1

Stack Overflow用户

发布于 2022-07-18 11:28:55

问题是外键脱水,只给出只读数据,只用于导出,仅用于导入,我们需要使用小部件来解决外键问题,并将数据导入数据库。

链接到文档

代码语言:javascript
复制
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')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73018241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档