python - 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”字段中的名称的错误。
谢谢
解决方案
推荐阅读
- c# - 为什么在同一(UI)线程中顺序调用 AsyncLock 与不同线程(如通过 Task.Run)的工作方式不同?
- python-3.x - TypeError:'headers' 是 print() 的无效关键字参数
- .net-core - 从 .net core 2.2 访问 UNC
- javascript - 当 p 标签接近时向下移动元素
- vba - 如何复制一行并粘贴 X 次
- c# - 如何确保 C# WebBrowser 控件中的搜索文本是实际文本而不是元素或属性?
- git - Visual Studio 将 GIT 存储库(本地或远程)发布到开发服务器,而无需更改尚未暂存/提交的文件
- asp.net-core - 创建 ASP.NET Core Web 应用程序时未检测到 .NET Core SDK
- sap - SAP Business 对象如何在不同数据提供者之间创建不同类型的连接
- django - Django RF:从 Leaflet Draw 到 PostGIS 的 POST 几何