Как проверить валидацию поля каждого объекта, содержащегося в наборе запросов? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть набор запросов "Match". В модели «Match» есть логическое поле, и я хотел бы проверить, равно ли это поле True для каждого объекта, содержащегося в моем наборе запросов. Как я могу это сделать?

matches = Match.objects.filter(phase=phase)

models.py

class Match(models.Model):
    isFinished  = models.BooleanField(default=False)
    team1Win    = models.BooleanField(default=False)
    team2Win    = models.BooleanField(default=False)
    phase       = models.ForeignKey(Phase, default=None, on_delete=models.CASCADE)
    teams       = models.ManyToManyField(Team, default=None, blank=True)

Поле, о котором идет речь, isFinished `.

1 Ответ

3 голосов
/ 16 мая 2019

Вы можете легко это сделать, проверив, есть ли экземпляр с isFinished=False.Если таких экземпляров не существует, значит, у всех есть isFinished=True:

Match.objects.filter(phase=phase,isFinished=False).exists()

Предыдущий оператор возвращает True, если у вас есть isFinished=False в вашем наборе запросов и False, если все ваши Matchsс isFinished=True.

...