Начиная с версии 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 []
Другие публикации из блога
Django\Nginx 403 Forbidden Error при доступе к media
Скорее всего ошибка возникает из-за неверных прав доступа к папке media и её поддиректориям. Исправляется командой:
…
Подробнее
Как создать проект на Django в текущей папке
cd /PROJECT_NAME
django-admin startproject PROJECT_NAME .
Подробнее
Django template первый\последний объекты цикла
Для выбора первого или последнего объектов в цикле for шаблонизатора Django используется следующий синтаксис:
{% f…
Подробнее
Скрыть\показать пароль в input
See the Pen
Show\hide password in input field by Denis (@m5dev)
on CodePen.
Подробнее
Как сделать Form-encode в JavaScript?
Обычно данные форм в JS можно передать в body HTTP запроса в виде объекта:
const formData = {
username: 'vasy…
Подробнее
В чем отличие User от AUTH_USER_MODEL и от get_user_model в Django?
Все это на первый взгляд похожие способы обратиться к модели пользователя, но между ними есть ряд различий.
1. User
…
Подробнее