2016-05-09 4 views
1

J'ai un appareil JSON et je veux remplir un champ many-to-many de mon appareil JSON mais il semble que Django ne veut qu'un seul pk mais je besoin de passer beaucoup d'entiers représentant des pks pour les autres champs liés.Comment remplir manuellement des champs Many-To-Many via un appareil JSON dans Django

Y a-t-il un moyen d'y parvenir?

J'ai utilisé un raw_id = ['reference(my table name)'] dans le ModelAdmin afin que pks puisse être utilisé pour référencer les champs associés.

Le message d'erreur est

File "/usr/local/lib/python2.7/dist-packages/django/core/serializers/python.py", line 142, in Deserializer raise base.DeserializationError.WithData(e, d['model'], d.get('pk'), pk) django.core.serializers.base.DeserializationError: Problem installing fixture '/home/user/Desktop/File/data/file.json':

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

+0

Partagez votre code – Anoop

+0

je me suis dit comment faire Merci. Je devais inclure le pk dans une liste. comme '[1,2,3]' @Anoop – Tushortz

Répondre

0

Vous pouvez utiliser JSONField() pour le modèle django

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

S0 votre base de données sera comme {raw_id:[1,2,3,4]}