Начиная с версии 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 []
Другие публикации из блога
Как запустить, перезапустить, остановить, узнать статус Nginx в Ubuntu?
Systemctl: start\restart\stop\status
sudo systemctl restart nginx
sudo systemctl start nginx
sudo systemctl sto…
Подробнее
Как получить данные из url без модуля requests в Python
from urllib.request import urlopen, Request
url = 'https://jsonplaceholder.typicode.com/posts'
# url = 'https://g…
Подробнее
При билде Docker-контейнера выдает: WARNING: Running pip as the 'root' user
Самый простой способ избавиться от warning'a - это добавить в Dockerfile строку:
ENV PIP_ROOT_USER_ACTION=ignore
…
Подробнее
Склонение слов во множественном числе с помощью Python
Задача довольно проста: у нас есть число и слово в трех склонениях, надо выбрать верно склонение в зависимости от числа…
Подробнее
Как получить случайный объект из базы данных в Django?
YourModel.objects.order_by('?')[0]
или
YourModel.objects.order_by('?').first()
Подробнее
Как выгрузить\восстановить базу данных PostgreSQL из Docker-контейнера
Выгрузить SQL дамп базы
docker exec -i pg_container_name /bin/bash -c "PGPASSWORD=pg_password pg_dump --username p…
Подробнее