首页 > 解决方案 > Django import export 当我们在导入外键时有数据名称但没有 id

问题描述

我有一个包含数据的 csv 文件,其中包括将导入数据的用户的名称,这基本上是一个外键。当我尝试导入 csv 文件时。我无法使用外键名称(使用用户的用户名)导入 csv 文件。

这是我的 models.py,如果表单是通过 UI 填写的,我将在其中获取一个字段,该字段将获取登录用户的输入。但是,要批量导入数据,我应该能够提供导入数据的用户的用户名,而不是整数值的外键。

模型.py

class Vendor(models.Model):
      ...
      added_by_user = models.ForeignKey(User, on_delete=models.PROTECT, related_name= "vendors", verbose_name="Added By User")
      ...

这是我的 admin.py

from django.contrib import admin
from app.models import Vendor 
from import_export import resources
from import_export.admin import ImportExportModelAdmin
from django.contrib.auth.models import User

class VendorResource(resources.ModelResource):
    class Meta:
        model = Vendor
        fields = ('added_by_user__username',)

@admin.register(Vendor)
class VendorAdmin(ImportExportModelAdmin):
    pass

我对此很陌生,我认为我遗漏了一些东西,我已经按照文档中提到的所有内容进行了操作。请帮助我找到正确的选项,以便我可以解决这个问题,因为我确信我在这里错过了一些愚蠢的东西。随附的屏幕截图显示 django 需要 id 而不是“ added_by_user”字段中的名称的错误。

谢谢

在此处输入图像描述

标签: pythondjangodjango-modelsdjango-rest-frameworkdjango-forms

解决方案


推荐阅读