【问题标题】:django tastypie manytomany field POST json errordjango tastepie manytomany 字段 POST json 错误
【发布时间】:2012-03-13 20:46:45
【问题描述】:

这是我的资源:

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()  

我正在尝试在 django-tastypie 系统上使用 curl 发帖。

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."]}%

我也尝试过只发送 id 而不是 resource_uri,但这也不起作用。我确信我的帖子数据在某种程度上是错误的。我该如何解决这个问题?

【问题讨论】:

    标签: django json http-post tastypie


    【解决方案1】:

    我自己修复了错误。罪魁祸首是我在我的models.py 中为ManyToMany 字段连接器使用了“through”。删除通过使处理 m2m 保存变得容易。否则,我使用“通过”的东西也应该可以工作,但我必须制作连接器的资源并发送适当的端点。

    【讨论】:

    猜你喜欢
    • 2019-04-01
    • 2018-05-05
    • 2015-05-04
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多