【发布时间】:2020-09-07 22:16:21
【问题描述】:
我只是希望如果 escs 大于或等于 id(5) 它将转到我的 if ,否则它将转到我的 其他
studentenroll = StudentsEnrollmentRecord.objects.filter(Student_Users=args)
escs = esc.objects.filter(Education_Levels__in=studentenroll.values_list('ESC'))
if escs >= 5:
....
else:
....
这是我得到的错误
到目前为止,我尝试的是在我的 if 条件 if escs >= 5: 我试过这个 if escs.id >= 5:
这是错误
我错过了什么吗?
【问题讨论】:
-
escs是一个查询集,因此将其与数字进行比较是没有意义的。您是否尝试检查查询集中是否有超过五个项目?在这种情况下,你会做if escs.count() >= 5:。 -
不,我的意思是,如果该数据的 id 大于或等于 5,则不算数。
-
filter()返回一个查询集。您可以使用escs = esc.objects.get(...)返回单个项目,然后检查if escs.pk >= 5。但这只有在get()返回单个项目时才有效。如果它返回 0 个或多个项目,那么它将引发错误。从您的询问中我无法判断这是否会发生。
标签: django