Я строю Джанго tastypie апи, и у меня есть проблема с добавлением элементов в ManyToMany
отношенийTastypie, добавить элемент к отношения многие ко многим
Пример, models.py
class Picture(models.db):
""" A picture of people"""
people = models.ManyToManyField(Person, related_name='pictures',
help_text="The people in this picture",
)
class Person(models.db):
""" A model to represet a person """
name = models.CharField(max_length=200,
help_text="The name of this person",
)
ресурсы:
class PictureResource(ModelResource):
""" API Resource for the Picture model """
people = fields.ToManyField(PersonResource, 'people', null=True,
related_name="pictures", help_text="The people in this picture",
)
class PersonResource(ModelResource):
""" API Resource for the Person model """
pictures = fields.ToManyField(PictureResource, 'pictures', null=True,
related_name="people", help_text="The pictures were this person appears",
)
Моя проблема заключается в том, что я хотел бы иметь add_person
конечную точку в моей картине ресурса. Если я использую PUT
, тогда мне нужно указать все данные на картинке Если я использую PATCH
, мне все равно нужно указать всех людей на картинке. Конечно, я мог бы просто сгенерировать URL-адрес /api/picture/:id/add_people
, и я мог бы справиться со своей проблемой. Проблема в том, что он не чувствует себя чистым.
Другим решением было бы генерировать /api/picture/:id/people
конечную точку, и я мог бы сделать GET
, POST
, PUT
, как это новый ресурс, но я не знаю, как осуществить это и кажется странным, чтобы создать новых людей по этому ресурсу.
Любые мысли?
я как-то задал тот же вопрос http://stackoverflow.com/questions/8613522/how-to-put-product-to-cart-via-tasytpie-api – seb
Sorry @seb я искал для моей проблемы и я не нашел тебя вопросом. Если вы хотите, я могу удалить свой вопрос, но, пожалуйста, измените свое имя, так как «Как поместить продукт в корзину через tasytpie API?» просто слишком специфичен –
@seb - ваш вопрос все еще открыт, я не вижу, что вы приняли ответ! – Mutant