Модели Django: Как проверить, существует ли свойство decorartor

У меня есть модель Profile со свойством декоратора

@property
    def primary_phone(self):

Когда я запрашиваю первичный телефон для заданного идентификатора следующим образом, он работает

x = Profile.objects.get(id=3)
x.primary_phone

выходы

Out[3]: '+256771000022'

Как бы то ни было, фильтрация для того же самого выглядит так

Profile.objects.filter(primary_phone="+256771000022").exists()

выходы

FieldError: Cannot resolve keyword 'primary_phone' into field. Choices are: _created_at, _modified_at, apierror, business,...)

@porperty является управляемым атрибутом python https://docs.python.org/3/library/functions.html#property и не может быть запрошен через DB, поскольку его данные не являются частью DB.

Используйте поле модели django, если вам нужно запросить его, или используйте Python для обработки этого атрибута после запроса к БД.

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