django вкусноpie многотоманое поле POST json error - PullRequest
0 голосов
/ 23 февраля 2012

Вот мои ресурсы:

class CourseResource(ModelResource):  
    subjects = fields.ToManyField('core.api.SubjectResource', 'subjects', full=True)  
    class Meta:
        queryset = Course.objects.all()  
        resource_name = 'course'  
        authorization = Authorization()   
        validation = FormValidation(form_class=CourseForm) 

class SubjectResource(ModelResource):  
    class Meta:  
        queryset = Subject.objects.all()  
        resource_name = 'subject'  
        authorization = Authorization()  

Я пытаюсь опубликовать сообщение с помощью curl в системе django-tastypie.

curl --dump-header - -H "Content-Type: application/json" -X POST --data '{"title":"title 123","description":"sdfsadfsdf","created_by":"1","created_on":"2012-02-23 03:24:56","initial-created_on":"2012-02-23 03:24:56.419838","subjects":["/api/v1/subject/1/"]}' http://127.0.0.1:8000/api/v1/course/

Вот что я получаю:

HTTP/1.0 400 BAD REQUEST
Date: Thu, 23 Feb 2012 12:28:15 GMT
Server: WSGIServer/0.1 Python/2.7.2+
Content-Type: application/json; charset=utf-8

{"subjects": ["\"/api/v1/subject/1/\" is not a valid value for a primary key."]}%

Я попытался отправить только идентификаторы вместо resource_uri, но это также не работает. Я уверен, что мои почтовые данные в некотором роде неверны. Как мне это исправить?

1 Ответ

1 голос
/ 24 февраля 2012

Я сам исправил ошибку.Виновником было то, что я использовал "through" в моем models.py для полевого соединителя ManyToMany.Благодаря удалению стало легко заботиться о сохранении м2.Иначе, моя вещь, использующая сквозное соединение, также должна работать, но мне нужно будет создать ресурс коннектора и отправить соответствующие конечные точки.

...