Начиная с версии 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 []
Другие публикации из блога
Выбор последнего элемента в цикле v-for во Vue.js
1. Выбор всех элементов кроме последнего в цикле v-for
2. Выбор только последнего в цикле v-for
Подробнее
Как создать Django app в определенной папке
Предположим структура вашего проекта выглядит следующим образом:
apps/ config/ db.sqlite3 manage.py* media/ r…
Подробнее
Как запустить, перезапустить, остановить, узнать статус Nginx в Ubuntu?
Systemctl: start\restart\stop\status
sudo systemctl restart nginx
sudo systemctl start nginx
sudo systemctl sto…
Подробнее
Django template индексы в цикле
Для вывода индексов объектов в цикле шаблона Django используется следующий синтаксис:
{% for object in objects_lis…
Подробнее
Как сгенерировать безопасный SECRET_KEY?
В терминале:
openssl rand -hex 32
с помощью Python:
import secrets
print(secrets.token_hex(32))
…
Подробнее
Что такое сериализация (serialization) в Django?
Сериализация – это механизм перевода моделей Django в другие форматы, обычно текстовые (XML, JSON...).
Более под…
Подробнее