Задать вопрос
@anttoon
Python/Django

Django как сделать выборку из базы не по полям а по значению метода модели?

Имеется модель People и у нее есть метод get_age
class People(models.Model):
    last_name = models.CharField(max_length=80, blank=True)
    first_name = models.CharField(max_length=80, blank=True)
    middle_name = models.CharField(max_length=80, blank=True)
    gender = models.CharField(max_length=1)
    phone = models.CharField(blank=True, max_length=14)
    b_date = models.DateField(null=False)

        def get_age(self):
            today = date.today()
            age = today.year - self.b_date.year
            if today.month < self.b_date.month:
                age -= 1
            elif today.month == self.b_date.month and today.day < self.b_date.day:
                age -= 1
            return age


как сделать выборку по методу get_age?
по значению полей я знаю =
People.objects.filter('first_name'='Имя')
а вот какой вариант может найти по get_age?
Так точно не работает -
People.objects.filter(get_age=25)
  • Вопрос задан
  • 288 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы