Начиная с версии Django 3.* доступен метод get_inlines.
Допустим мы хотим показать Inline форму если пользователь находится в определенной группе.
admin.py
class YourInline(admin.TabularInline):
model = YourAnotherModel
extra = 0
@admin.register(YourModel)
class YourModelAdmin(admin.ModelAdmin):
inlines = []
...
def get_inlines(self, request, obj):
if obj is not None:
# if user in Врач group, display inline form
if obj.groups.filter(name='Название группы'').exists():
return [YourInline]
return []
Другие публикации из блога
Как сгенерировать SECRET_KEY в Django?
Заходим в терминал:
python manage.py shell
Импортируем utils:
from django.core.management import utils
Гене…
Подробнее
Как сгенерировать безопасный SECRET_KEY?
В терминале:
openssl rand -hex 32
с помощью Python:
import secrets
print(secrets.token_hex(32))
…
Подробнее
Как переопределить вывод --------- в админке Django?
Добавьте в admin.py следующие строки:
Пустые поля в CharField, TextField etc
@admin.register(YourModel)
class …
Подробнее
Ошибка при установке пакетов с помощью yarn install
При попытке установить пакеты с помощью yarn install возникает ошибка вида:
yarn install
YN0000: · Yarn 4.1.0
YN…
Подробнее
Как очистить Recent actions в админке Django
from django.contrib.admin.models import LogEntry
LogEntry.objects.all().delete()
Подробнее
Как обновить uv Python в Windows 11?
uv --version
uv self update
Подробнее