我的应用程序中具有以下模型:
class Device(models.Model):
class Meta:
verbose_name_plural = "devices"
imei = models.CharField(max_length=15, unique=True)
last_update = models.DateTimeField()
rule = models.CharField(max_length=20)
@classmethod
def create(cls, imei, last_update, rule):
device = cls(imei = imei, last_update = last_update, rule = rule)
return device
def __str__(self):
return self.imei
现在,执行更新后,我想检查设备是否已经存储在数据库中。所以我使用了这段代码:
def deviceUpdate(request):
if request.method == "POST":
json_data = json.loads(request.body)
imei = json_data['imei']
date = json_data['updateDate']
rule = json_data['rule']
if Device.objects.filter(imei="123456789").exists():
return True
else:
return False
但是由于某种原因,当我运行它时,它不起作用,并且不断出现500错误。我在这里做什么错了?
编辑: 这是我得到的错误: / policies / update中的 AttributeError “布尔”对象没有属性“状态代码”
编辑2 我发现了问题,但忘记了应该返回响应对象。 相反,我返回的是布尔值。
答案 0 :(得分:2)
确保您的视图返回一个HttpResponse
对象,而不仅仅是“ True”或“ False”。例如
from django.http import JsonResponse
def deviceUpdate(request):
...
return JsonResponse(True, safe=False)