2013-02-19 6 views
1

Использование Django REST Framework.Как бороться с many2many использованием Django REST Framework

У меня есть many2many поле в одном из моих моделей т.е.

attribute_answers = models.ManyToManyField(AttributeAnswers) 

Это создает свою единственную таблицу, следовательно, я не отобразили в своих моделях.

Однако, я хочу, чтобы API разрешил POST для этой таблицы, но он не существует в моделях, поэтому на вид и Serialize.py Я не могу ссылаться на него. Какова рекомендация по этому поводу?

ответ

2

Это создает только таблицу, поэтому у меня нет карт в моих моделях.

Я предполагаю, что вы говорите о обратной связи, так как attribute_answersбудет быть доступен из экземпляра модели, что она определена на и будет создать соответствующее поле сериализатора по умолчанию.

Для обратной связи убедитесь, что вы установили related_name в поле модели, чтобы вы могли получить обратную связь от модели AttributeAnswers.

Смотрите здесь: http://django-rest-framework.org/api-guide/relations.html#reverse-relations

+0

я получаю «модуль» объект не имеет атрибута «PrimaryKeyRelationship» с serializers.PrimaryKeyRelationship (много = True) – jason

+0

также на документы здесь http://django-rest-framework.org/ api-guide/relations.html # обратные отношения: «serializer.ModelSerializer», вы думаете, это означает сериализаторы.ModelSerializer? – jason

+0

Вы бы. Потому что это не так. Поле называется «PrimaryKeyRelatedField» ... http://django-rest-framework.org/api-guide/relations.html#primarykeyrelatedfield –