У меня есть модель, включающая @property
, которую я хочу включить, когда я делаю что-то вроде
vals = MyModel.objects.values()
Еще один пост S / O предлагает способ сделать это путем переопределения метода get_queryset
класса менеджера, дополненного вызовом annotate(xtra_field=...)
.
Проблема в том, что я не могу найти пример того, как сделать это с помощью свойства модели.Я пробовал такие вещи, как
super(SuperClass, self).get_queryset().annotate(xtra_fld=self.model.xtra_prop)
и их многочисленные варианты, ни один из которых не работает.
Мне кажется, вопрос в том, какой должна быть RHS аргумента (ов) аннотации?
(И да, я знаю, что есть и другие, более неуклюжие способы сделать это, например, повторять то, что возвращает values()
, и добавлять свойство по ходу работы. Просто для меня это не очень элегантное (или даже django) решение.