Django Admin TabularInline: Как скрыть имя объекта в модели M2M?

Как скрыть Unit_attribute object (3) с экрана администратора?

Django Admin

admin.py:

from django.contrib import admin

from core.models import Attribute, Unit

class UnitAttributeInline(admin.TabularInline):
    model = Unit.attributes.through

@admin.register(Unit)
class UnitAdmin(admin.ModelAdmin):
    inlines = [UnitAttributeInline]

models.py:

class Attribute(models.Model):
    name = models.CharField(max_length=45)

class Unit(models.Model):
    attributes = models.ManyToManyField(Attribute)

Вы можете легко изменить что-то подобное с помощью css. Строчная запись:

class UnitAttributeInline(admin.TabularInline):

    class Media:
        css = {
            "all": ["my_styles.css"],
        }

и в my_styles.css:

fieldset .inline_label{
    display: none;
}

Скрытие чего-либо в Admin css - самый быстрый и безболезненный способ. Потому что для этого не нужно писать тесты :)

p.s. Пожалуйста, проверьте свой собственный css_class, потому что в разных версиях django он может немного меняться в шаблонах админки. Например, он может быть таким:

fieldset .origin { } # new versions of django

fieldset .original { } # very old versions of django
Вернуться на верх