您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 使用TastyPie将ForeignKey字段更新为null

5b51 2022/1/14 8:23:12 python 字数 2505 阅读 632 来源 www.jb51.cc/python

是否可以使用TastyPie将ForeignKey字段更新为None? 相关问题:tastypie won’t remove foreignkey reference during PUT 是)我有的: class SomeObject(models.Model): some_field = models.ForeignKey(SomeOtherObject, null=True) (当然

概述

相关问题: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()中的代码读取,目前似乎不可能这样做.

我查看了最近的代码on github,我不相信这是可能的.

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所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶