首页 > 解决方案 > Django-import-export export 也是模型的相关字段

问题描述

在我的项目中,我有一个这样的模型:models.py

class e_cart(models.Model):
    e_uid = models.ForeignKey(User, on_delete=models.CASCADE, )
    e_prodid = models.ForeignKey(p_prodotti, on_delete=models.CASCADE, verbose_name="Product")
    e_qta = models.IntegerField(default=0, verbose_name="Quantita")
    e_datain = models.DateTimeField(auto_now=True, verbose_name="Insert Data")
    ....

我使用 django-import-export 在管理面板和 admin.py 中导出我的数据:

from import_export.admin import ImportExportModelAdmin

class OrderAdmin(ImportExportModelAdmin):

    search_fields = ('onum',)
    list_display = ('onum', 'date', 'paid', 'onotes', 'totord', 'obank')
    ordering = ('-date', 'onum')

现在,例如 e_uid 字段仅作为 id (1,2 ecc) 导出,但我将导出 select_related() 字段,例如 e_uid.firstname、e_uid.lastname ecc

如何修改我的代码以导出模型的相关字段?

非常感谢

标签: djangodjango-modelsdjango-admindjango-import-export

解决方案


声明资源时,可以遵循模型关系 ( docs )

声明一个资源(带有字段)(取自示例应用程序):

class BookResource(ModelResource):

    class Meta:
        model = Book
        fields = ('author__name',)

引用 Admin 类中的资源:

class BookAdmin(ImportExportMixin, admin.ModelAdmin):
    list_display = ('name', 'author', 'added')
    list_filter = ['categories', 'author']
    resource_class = BookResource

推荐阅读