Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django tastypie对象创建不工作_Python_Django_Api_Debugging_Object - Fatal编程技术网

Python Django tastypie对象创建不工作

Python Django tastypie对象创建不工作,python,django,api,debugging,object,Python,Django,Api,Debugging,Object,所以问题是它不会打印出Obj_create方法,但是如果我将相同的调试打印元素放在Meta类中,它会打印。那么我该怎么做才能找出为什么创建对象的方法不起作用呢?你能这样保存它吗 class ArticleRevisionResource(ModelResource): article_id = fields.IntegerField(attribute='article_id') class Meta: queryset = ArticleRevision.o

所以问题是它不会打印出
Obj_create
方法,但是如果我将相同的调试打印元素放在
Meta类中,它会打印。那么我该怎么做才能找出为什么创建对象的方法不起作用呢?

你能这样保存它吗

class ArticleRevisionResource(ModelResource):

    article_id = fields.IntegerField(attribute='article_id')

    class Meta:
        queryset = ArticleRevision.objects.all()
        resource_name = 'articlerevision'
        authentication = Authentication()
        authorization = DjangoAuthorization()
        allowed_methods = ['get', 'post', 'put', 'delete']


class ArticleResource(ModelResource):
    #revision = fields.ForeignKey(ArticleRevisionResource, 'article')
    class Meta:
        queryset = Article.objects.all()
        resource_name = 'article'
        authentication = Authentication()
        authorization = DjangoAuthorization()
        allowed_methods = ['get', 'post', 'option', 'put']
        fields = ['title', 'content', 'article_id']

    def obj_create(self, bundle, request=None, **kwargs):
        print("==========Obj_create method==========")
        title, content = bundle.data['title'], bundle.data['content']
        bundle.obj = ArticleRevision.objects.create(title="lala", content="lulu", article_id=40)
        bundle.obj.save()
        return bundle

覆盖在tastypie或modelresources中创建的对象的正常方式如下所示:

def obj_create(self, bundle, request=None, **kwargs):
    print("==========Obj_create method==========")
    title, content = bundle.data['title'], bundle.data['content']
    bundle.obj = ArticleRevision(title="lala", content="lulu", article_id=40)
    bundle.obj.save()
    return bundle

我不知道你说的是什么意思。你发布的代码和我发布的代码一样,不是吗?除了这行代码外,其他代码都是一样的。obj=ArticleRevision(title=“lala”,content=“lulu”,article_id=40)谢谢你的提示,但这并没有停止。事实上-问题是方法本身(
obj_create
)没有启动,这正是我试图调试的。您是否尝试将obj_create放在ArticleRevisionResource类中?我尝试过,但结果与以前相同。您找到问题的解决方案了吗?我也有同样的问题。但是关于obj_delete方法。@irajjelodari抱歉,这是一个非常老的问题,我没有源代码了。没问题,伙计。我找到了解决办法
def obj_create(self, bundle, request=None, **kwargs):
    bundle = super(BookingResource, self).obj_create(bundle)
    bundle.obj.save()
    return bundle