微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在没有外键列的情况下从 django 的管理端导入 csv 文件

如何解决如何在没有外键列的情况下从 django 的管理端导入 csv 文件

目前我可以使用 Django 的 import_export 包导入 csv 文件。但是我需要提供一个带有与我的外键对应的 id 的 csv。

这是我的modele.py :

class Category(models.Model):

    name = models.CharField(max_length=50)

    def __str__(self):
        return self.name


class Cause(models.Model):
    
    name = models.CharField(max_length=50)
    category = models.ForeignKey(Category,on_delete=models.DO_nothing,null=True)

    def __str__(self):
        return self.name

这里是 admin.py :

from import_export.admin import ImportExportModelAdmin

# Register your models here.

class CategoryAdmin(admin.ModelAdmin):
    list_display = ("name",)


class CauseAdmin(ImportExportModelAdmin):
    list_display = ("name",)
    pass


admin.site.register(Category,CategoryAdmin)
admin.site.register(Cause,CauseAdmin)

如果我想导入一个包含原因名称的 csv,我需要添加一个带有相应类别 id 的列。但是,我希望能够导入仅包含原因名称的 csv,并在管理端选择类别。

目前这是我导入 csv 文件时的样子:

enter image description here

我想知道是否可以使用 import_export 包,它看起来更像这样:(就像我只添加一个原因)

enter image description here

一个屏幕截图中将出现“要导入的文件”而不是“名称”,并且可以直接从管理端选择类别。

所以我将使用带有“id,cause_name”列而不是“id,cause_name,category_id”的csv。

你知道是否可以通过继续使用 import_export 包来做到这一点?还是我必须忘记这种做事方式?目前我仍然没有什么可以解决我的问题。 提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。