tastypie save_m2m, TagRelatedManager оценивает как False
На самом деле, я пытаюсь сохранить ресурс модель вкусного пирога, который содержит TagField
от джанго тагулез
Вот моя модель и ресурсы:
# models.py
class SimpleModel(models.Model):
topics = tagulous.models.TagField()
title = models.CharField(max_length=100)
# resources.py
class TopicResource(ModelResource):
class Meta:
queryset = SimpleModel.topics.tag_model.objects.all()
authentication = Authentication()
authorization = Authorization()
class SimpleModelResource(ModelResource):
tags = fields.ToManyField(TopicResource, attribute='topics', full=True, null=True)
class Meta:
queryset = SimpleModel.objects.all()
authentication = Authentication()
authorization = Authorization()
часть завитка:
curl --request POST --dump-header - --header 'Content-Type: application/json' --data '{"tags": ["/api/v1/topic/1/"], "title": "A bad dream"}' localhost:8000/api/v1/simplemodel/
Оболочка не возвращает никакой ошибки, однако теги не связаны с новым объектом.
Переопределив ModelResource save_m2m method
, перед super
вызовите объект тега (print bundle.data['tags']), затем в super(SimpleModelResource, self).save_m2m(bundle)
tastypie ищет связанный менеджер, связанный с полем тегов, возвращается related_mngr, но когда он оценивается с помощью: if not related_mngr
это оценивает True
пропуская ассоциацию m2m.