Метод модели фильтрации - Django

Я хочу отфильтровать дошкольников по их тегу BMI, но теги BMI относятся к модельному методу. Как мне отфильтровать дошкольников по их тегу BMI?

models.py

from pygrowup import Calculator, helpers

class Preschooler(Model):
    birthday = models.DateField(null=True, blank=True)
    height = models.FloatField(null=True, validators=[MinValueValidator(45.0), MaxValueValidator(120.0)])
    weight = models.FloatField(null=True, validators=[MinValueValidator(1.0), MaxValueValidator(28.0)])
    gender = models.CharField(max_length=100, choices=GENDER, null=True)

    def bmi_tag(self):
        calculator = Calculator(adjust_height_data=False, adjust_weight_scores=False,
                       include_cdc=False, logger_name='pygrowup',
                       log_level='INFO')
        
        try:
            age_months = int((date.today().year - self.birthday.year) * 12)

            whfa_value = float(calculator.wfl(self.weight, age_months, helpers.get_good_sex(str(self.gender)), self.height))
            if whfa_value > 2.0:
                return 'ABOVE NORMAL'
            elif whfa_value >= -2.0 and whfa_value <= 2.0:
                return 'NORMAL'
            elif whfa_value >= -3.0 and whfa_value < -2.0:
                return 'BELOW NORMAL'
            else:
                return 'SEVERE'
        except:
            pass

Я хотел бы отфильтровать дошкольника следующим образом:

preschooler_normal = Preschooler.objects.filter(bmi_tag='NORMAL')

Но я знаю, что мы не можем делать запросы к методам модели. Как я могу этого добиться? Спасибо!

Вернуться на верх