Как фильтровать данные в разных моделях в django?
мои модели
class Player(TimeStampedModel):
name = models.CharField(max_length=200)
email = models.CharField(max_length=200)
email_verified = models.BooleanField(default=False, blank=True)
phone = models.CharField(max_length=200)
phone_verified = models.BooleanField(default=False, blank=True)
company_id = models.ImageField(upload_to=get_file_path_id_card, null=True,
max_length=255)
company_id_verified = models.BooleanField(default=False, blank=True)
team = models.ForeignKey(Team, related_name='player', on_delete=models.DO_NOTHING)
def __str__(self):
return self.name
это моя модель, как фильтровать данные в нескольких моделях?
Я не очень понимаю, что вы имеете в виду под "несколькими моделями", поскольку в вашем вопросе указана только одна модель, поэтому я предположу, что вы имеете в виду, как мне фильтровать по определенному полю модели.
Вы можете использовать Queryset для фильтрации по полю модального объекта.
В вашем примере вы можете сделать фильтр всех записей Игрока, которые подтвердили свои номера телефонов, выполнив следующие действия
Player.objects.filter(phone_verified=True)
Обратите внимание, что фильтры являются ленивыми и поэтому не возвращают реальные экземпляры модели пока они не будут оценены
В этой документации рассматриваются все поиски набора полей, которые можно выполнять с помощью методов объекта QuerySet filter(), get(), и exclude()