【问题标题】:Django import_export error in exporting with foreignkeyDjango import_export 使用外键导出错误
【发布时间】:2018-05-06 11:32:54
【问题描述】:

我正在尝试使用 import_export 导入数据集。数据集中的一列基于来自另一个模型的外键(通过实际的“item_sku”值,而不是通过其“id”)。但是,它一直给我以下错误:

"Line number: 1 - Model_Model01 matching query does not exist. "

我该如何解决这个问题?我一直在参考以下来源:source 01source 02,但问题仍然存在。

这是我的代码:

Models.py

from django.db import models

class Model_Model01(models.Model):

    item_sku = models.CharField(max_length = 2, null = False, blank = False)

    def __unicode__(self):
        return self.item_sku

class Model_Model02(models.Model):

    item_sku = models.ForeignKey(Model_Model01, on_delete = models.CASCADE, null = True, blank = False)

    def __unicode__(self):
        return self.item_sku

admin.py

from import_export import fields
from import_export.admin import ImportExportModelAdmin
from import_export.widgets import ForeignKeyWidget
from .models import (Model_Model01, Model_Model02)


class Admin_Model02(ImportExportModelAdmin):

    item_sku = fields.Field(
        column_name = "item_sku",
        attribute = "item_sku",
        widget = ForeignKeyWidget(Model_Model01, "item_sku")
        )

    class Meta:
        model = Model_Model02

admin.site.register(Model_Model02, Admin_Model02)

【问题讨论】:

    标签: python django django-import-export


    【解决方案1】:

    您需要在管理员中创建一个资源对象。它有一个import_id_field parameter,它定义了主键应该是什么。

    这是文档中的示例:

    from import_export import resources
    from import_export.admin import ImportExportModelAdmin
    from .models import Book    
    
    class BookResource(resources.ModelResource):
    
        class Meta:
            model = Book
            import_id_fields = ('isbn',)
            fields = ('isbn', 'name', 'author', 'price',)
    
    class BookAdmin(ImportExportModelAdmin):
        resource_class = BookResource
    

    【讨论】:

    • 我试图绕过资源对象。但这也有效。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2022-01-22
    • 2019-07-27
    • 2016-04-25
    • 2021-06-16
    相关资源
    最近更新 更多