1

我在我的网络项目的应用程序中使用 django-import-export。

class.py文件如下

class Article(models.Model):
    siret = models.CharField(max_length=16)
    newspaper = models.CharField(max_length=200)
    writer = models.CharField(max_length=1000)
    TOPIC_TYPE = (
            ('Sport', 'Sport'),
            ('Beauté','Beauté'),
            ('Food', 'Food'),
            ('Business', 'Business'),
            ('Music', 'Music'),
            ('Art', 'Art'),)
    topics = MultiSelectField(choices = TOPIC_TYPE)

请注意,主题是一个 MultiSelectField。
admin.py 中,我只是按照 django-import-export 教程进行操作,因此:

class ArticleResource(resources.ModelResource):
    class Meta:
        model = Article
        exclude = ('is_true', )

class ArticleAdmin(ImportExportModelAdmin):
    resource_class = ArticleResource

admin.site.register(Article, ArticleAdmin)

导入数据时的问题正如您所猜测的“主题”变量。
我首先导出了一个 xlsx 文件来查看这个变量的导出方式。这就是字面意思:

siret             ...      topics
-----------------------------------
0000068591590     ...      Music, Art
0000068591595     ...      Business, Beauté
0000068591600     ...      Art

问题在于数据导入。我只是尝试通过更改“siret”数字来导入上述导出的文件。
导入后,在管理界面中,我很惊讶,Django 在可用复选框中仅选择每篇文章的第一个主题(仅音乐用于 0000068591590,仅商业用于 0000068591595)。

在此处输入图像描述

因此我尝试通过以下方式导入:
Music, Art (作为导出方式)
['Music','Art']
[Music, Art]

但是它不起作用。

4

1 回答 1

0

导入 excel 文件时,请注意空格... Django导出之类的

siret             ...      topics
-----------------------------------
0000068591590     ...      Music, Art
0000068591595     ...      Business, Beauté
0000068591600     ...      Art

注意主题变量中的空格。
您只需要导入多选选项,例如:

siret             ...      topics
-----------------------------------
0000068591590     ...      Music,Art
0000068591595     ...      Business,Beauté
0000068591600     ...      Art
于 2017-07-13T08:15:59.967 回答