概述
相关问题:tastypie won’t remove foreignkey reference during PUT
是)我有的:
class SomeObject(models.Model): some_field = models.ForeignKey(SomeOtherObject,null=True)
(当然还有相应的TastyPie资源类可以更新其他字段)
我想要的是:
使用TastyPie将some_field更新为None.
我尝试过(在JavaScript中):
$.put('/my/api/model/someobject/42/',{ some_field: null }); $.put('/my/api/model/someobject/42/',{ some_field: '/my/api/model/someotherobject/null/' }); $.put('/my/api/model/someobject/42/',{ some_field: '' }); $.put('/my/api/model/someobject/42/',{ some_field: 0 }); $.put('/my/api/model/someobject/42/',{ some_field: false });
等等.这些都导致404或400.一些导致204,但数据库未更新.
通过full_dehydrate()中的代码读取,目前似乎不可能这样做.
class MyResource(ModelResource): def obj_update(self,bundle,request=None,**kwargs): for field_name in self.fields: field = self.fields[field_name] if type(field) is ToOneField and field.null and bundle.data[field_name] is None: setattr(bundle.obj,field_name,None) return super(MyResource,self).obj_update(bundle,**kwargs)
总结
以上是编程之家为你收集整理的python – 使用TastyPie将ForeignKey字段更新为null全部内容,希望文章能够帮你解决python – 使用TastyPie将ForeignKey字段更新为null所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧