Фильтр по виртуальному имени на сайте администратора

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']

Проверьте также этот ответ

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