Начиная с версии 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 []
Другие публикации из блога
Что означает managed=False в models.py Django?
Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то…
Подробнее
Как создать Django app в определенной папке
Предположим структура вашего проекта выглядит следующим образом:
apps/ config/ db.sqlite3 manage.py* media/ r…
Подробнее
Копировать текст в буфер обмена с помощью JS
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Как сериализовать объекты в Django?
# views.py
from django.http import JsonResponse
from django.core.serializers import serialize
import json
from …
Подробнее
При билде Docker-контейнера выдает: WARNING: Running pip as the 'root' user
Самый простой способ избавиться от warning'a - это добавить в Dockerfile строку:
ENV PIP_ROOT_USER_ACTION=ignore
…
Подробнее
Как очистить весь кеш в Django?
from django.core.cache import cache
cache.clear()
Подробнее