Фильтр по виртуальному имени на сайте администратора
Django4.1
class Exercise(NameMixin,
UrlMixin,
PriorityMixin,
CommentMixin):
unit = models.ForeignKey('vocabulary_units.Unit',
on_delete=models.CASCADE,
null=True, )
class Phrase(models.Model):
exercise = models.ForeignKey('vocabulary_exercises.Exercise',
on_delete=models.CASCADE,
null=True,
blank=False)
@property
def unit(self):
result = self.exercise.unit
return result
Фаза принадлежит упражнению, упражнение принадлежит единице.
Проблема в том, что в админке сайта я хотел бы организовать для фраз фильтр по единицам измерения.
Возможно ли это?
Вы можете использовать метод поиска '__' в полях list_filter
. Также вы не указали, как выглядит модель Unit
, этот код будет фильтровать в основном идентификаторы, вероятно, вы захотите использовать exercise__unit__name
или что-то подобное:
from django.contrib import admin
class PhraseAdmin(admin.ModelAdmin):
list_filter = ['exercise__unit']
Проверьте также этот ответ