Django导入导出无法导入MultiSelectField复选框

时间:2017-07-12 15:26:15

标签: python django checkbox import django-import-export

我在我的网络项目的应用程序中使用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通过在可用的CheckBoxes中仅选择每篇文章的第一个主题来嘲笑我(仅适用于0000068591590的音乐,仅适用于0000068591595的商业)。

enter image description here

因此我试图通过以下方式导入:
音乐,艺术(作为出口方式)
['音乐''艺术']
[音乐,艺术]

然而它不起作用。
TY

1 个答案:

答案 0 :(得分:0)

导入excel文件时,请注意空格... Django 出口,如

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

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

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