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