【发布时间】:2015-12-12 13:29:59
【问题描述】:
我正在尝试覆盖 Django 美味派中的 obj_create 和 obj_update
class HomeTasksResource(ModelResource):
class Meta:
queryset = HomeTasks.objects.filter(is_deleted = False)
resource_name = 'tasks'
authorization = Authorization()
authentication = MyAuthentication()
excludes = [ 'datetime']
allowed_methods = ['get','post','put','patch']
serializer = urlencodeSerializer()
always_return_data = True
def obj_update(self, bundle, **kwargs):
taskForm = HomeTasksForm(bundle.data,instance = bundle.obj)
if taskForm.is_valid():
messages.success(bundle.request,"The task is updated successfully")
returnData = super(HomeTasksResource, self).obj_update(bundle,user = bundle.request.user,id = bundle.obj.id)
return returnData
def obj_create(self, bundle, **kwargs):
taskForm = HomeTasksForm(bundle.data)
if taskForm.is_valid() and bundle.obj is None:
messages.success(bundle.request,"The task is successfully added")
returnData = super(HomeTasksResource, self).obj_create(bundle,user = bundle.request.user)
return returnData
上面的方法是有效的,但出于某种奇怪的原因,对于每个更新/放置调用,“create 也被调用”。即对于 put 这两个功能都在运行。我究竟做错了什么 ? 我正在使用 jquery 和最新版本的 sweetpie。
【问题讨论】:
标签: jquery django tastypie put