【发布时间】:2022-10-16 19:51:21
【问题描述】:
我正在尝试检查对象是否存在,这就是我的做法:
try:
control = Card.objects.filter(cc_num = cc_number)[0]
exists = True
except (IndexError):
exists = False
它有效,但我想知道是否有更实用的方法?
(我使用except(IndexError) 的原因是我通过在model.objects.filter() 末尾键入[0] 来查找对象。)
注意:cc_num 是唯一的。
【问题讨论】:
-
有很多方法可以在 Django 中检查对象的存在,但是,这在很大程度上取决于您在 DRF 中使用它的上下文。使用
queryset类属性或get_queryset方法可以帮助您消除手动检查视图中是否存在对象的需要。您上面的代码也可能很有用,并且在这种情况下,control = Card.objects.filter(cc_num = cc_number).first()控件可能是Card对象的实例或无。
标签: django django-models django-rest-framework