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 здесь

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