【问题标题】:How to manually populate Many-To-Many fields through JSON fixture in Django如何通过 Django 中的 JSON 夹具手动填充多对多字段
【发布时间】:2016-09-03 19:49:51
【问题描述】:

我有一个 JSON 装置,我想从我的 JSON 装置中填充一个多对多字段,但似乎 Django 只想要一个 pk,但我需要传入很多整数,代表其他相关字段的 pk .

无论如何都可以解决这个问题。

我在ModelAdmin 中使用了raw_id = ['reference(my table name)'],这样pks 可以用来引用相关字段。

错误信息是

Deserializer 中的文件“/usr/local/lib/python2.7/dist-packages/django/core/serializers/python.py”,第 142 行 提高 base.DeserializationError.WithData(e, d['model'], d.get('pk'), pk) django.core.serializers.base.DeserializationError:安装夹具'/home/user/Desktop/File/data/file.json'时出现问题:

[u"',' value must be an integer."]: (kjv.verse:pk=1) field_value was ','

【问题讨论】:

  • 我知道该怎么做谢谢。我不得不将 pk 包含在一个列表中。喜欢[1,2,3]@Anoop

标签: python json django many-to-many django-fixtures


【解决方案1】:

您可以将JSONField() 用于 django 模型

from django.contrib.postgres.fields import JSONField
raw_id=JSONField(primary_key=True,db_index=True,null=True)

S0 你的数据库会像{raw_id:[1,2,3,4]}

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2019-10-24
    • 1970-01-01
    相关资源
    最近更新 更多