Фильтрование в админке по полю дочерней модели
Уже много раз сталкивался с этой проблемой и всегда старался как-то обойти ее. Но сейчас решил уже разобраться наконец.
Есть 2 модели.
models.py
class Obj(model.Model)
title = models.CharField(...)
def info(self):
return ObjInfo.objects.get_or_create(obj=self)[0]
def is_paid(self):
return self.info().paid
class ObjInfo(model.Model):
obj = models.ForeignKey('Obj')
paid = models.BooleanField()
admin.py
...
list_filter = ['is_paid', ]
...
Ну и выдает понятное дело:
(admin.E116) The value of 'list_filter[3]' refers to 'is_paid', which does not refer to a Field.
Источник: Stack Overflow на русском