有沒有更簡單的方法來檢查查詢集在特定欄位中是否具有相同的值
class Subject(models.Model):
name = models.CharField(max_length=15, blank=False)
summary = models.CharField(max_length=200, blank=True)
price = models.DecimalField(max_digits=6, decimal_places=2)
is_finish = models.BooleanField(default=False)
y = Subject.objects.all()
如何知道 y 個物件是否有 is_finish == True 而不使用 for 回圈?我只想知道查詢集給了我相同的 is_finish 欄位值。
uj5u.com熱心網友回復:
它們是您問題的幾個答案:
選項1:
y = Subject.objects.all()
graduate = all(x.is_finish for x in y)
選項 2:
y = Subject.objects.values_list('is_finish', flat=true)
graduate = all(y)
選項 3:
y = Subject.objects.exclude(is_finish=True).exists()
graduate = not y
選項 4:
y = Subject.objects.filter(is_finish=False).exists()
graduate = not y
將選項與您的代碼匹配得更好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/454487.html
