Django - отображение значения поля @property в фильтре
Добрый вечер ребята, у меня в проекте следующая структура модели:
`
class Foo(models.Model):
foo_name = models.TextField()
foo_city = models.TextField()
foo_actions = models.ManyToManyField(Action, through="FooActions")
@property
def bar(self):
response = True if FooAction.objects.filter(
foo_id=self.pk,
foo__action=Action.ACTION_NAME_PK).first() else False
return response
`
Мне нужно ввести поле 'bar' в фильтр, но у меня ничего не получается.
Я попытался сделать следующее:
Foo.objects.filter(nome="João").values("foo_city","bar")
Возможно ли донести эту информацию таким образом?
PS.: Извините за мой плохой английский
Нет, это невозможно напрямую, потому что метод @property взаимодействует с объектами модели, он не является полем модели
поле модели является столбцом таблицы данных, но метод @property взаимодействует со столбцом модели, то есть он не является частью SQL запроса
но вы можете добиться этих вещей, используя стороннюю библиотеку. обратитесь к этой ссылке на пакет PyPI здесь