Я знаю, что это можно сделать с помощью аннотирования, если у вас есть некоторая агрегация, но я не смог реализовать ее на основе пользовательского метода. Ниже приведен код моей модели, и я хочу иметь возможность сортировать результаты по _is_registered.
class Subscribers(models.Model):
email = models.EmailField(_('E-mail'))
want_newsletter = models.BooleanField(default = False)
def get_user(self):
user = User.objects.filter(email= self.email)
if user.count()>0:
return user[0]
return None
def _is_registered(self):
user = self.get_user()
if user:
return _('Yes')
return _('No')