Django如何检查数据库中是否存在条目?
我的应用程序中有以下型号:Django如何检查数据库中是否存在条目?,django,django-models,Django,Django Models,我的应用程序中有以下型号: 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) @clas
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
“bool”对象没有属性“status\u code”
编辑2
我发现了问题,我忘记了我应该返回响应对象。
相反,我返回的是布尔值。确保视图返回的是
HttpResponse
对象,而不仅仅是“True”或“False”。例如
使用
get\u或\u create
而不是修复else:indentation。你能在运行exists
方法的地方添加错误的回溯和函数的其余部分吗?@ikkuh我稍微编辑了一下这个问题。
from django.http import JsonResponse
def deviceUpdate(request):
...
return JsonResponse(True, safe=False)