我做错什么了?我需要将空值设置为“做”字段。在
def delete_todo_today(request):
if request.is_ajax() and request.POST and request.user.is_authenticated:
thingtodo = ThingToDo.objects.filter(author = request.user, thing = request.POST.get('item'))
thingtodo.doing_date = None
thingtodo.save()
data = {'message': "%s 's doing_date deleted" % request.POST.get('item')}
return HttpResponse(json.dumps(data), content_type='application/json')
else:
raise Http404
您正在使用
.filter()
来获取thingtodo
的对象。这将返回一个QuerySet或简单地说是一个对象列表。不能直接在多个对象上设置属性。在如果您只想检索一个对象,请使用
get()
而不是.filter()
。当一个匹配的对象多于一个时,它将引发一个匹配的异常。在如果要更新多个对象,请使用QuerySet的
update()
方法:还要使用模型allows
Null
作为属性。在默认情况下,
models.DateField.empty_strings_allowed
设置为False
, https://docs.djangoproject.com/en/1.10/_modules/django/db/models/fields/#DateField尝试用
options['blank'] = True
来定义ThingToDo.doing_date
,类似于doing_date = models.DateField(**options)
相关问题 更多 >
编程相关推荐