在django中导入包含标题而不是ID的数据

ztigrdn8  于 2023-01-27  发布在  Go
关注(0)|答案(1)|浏览(134)

我使用的是django-import-export,它是一个扩展名,用于使用csv文件将数据表导入管理面板。我有一个带外键的模型:ProductModel,现在如果我想导入数据,我必须在csv中提供ProductModel的ID。我想跳过,这样我就可以在csv中使用对象的标题而不是ID

class Item(models.Model):
    title = models.CharField(max_length=100)
    model = models.ForeignKey(ProductModel, ....)

class ProductModel(models.Model):
    title = models.CharField(max_length=100)
    desc = models.Tex.....
icnyk63a

icnyk63a1#

您必须在ForeignKeyWidget定义中将"title"声明为查找字段。
例如:

from import_export import fields, resources
from import_export.widgets import ForeignKeyWidget

class ItemResource(resources.ModelResource):
    model = fields.Field(
        column_name='model',
        attribute='model',
        widget=ForeignKeyWidget(ProductModel, 'title'))

    class Meta:
        fields = ('model',)

相关问题