Начиная с версии 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 []
Другие публикации из блога
Копировать текст в буфер обмена с помощью JS
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Зачем использовать yarn когда есть npm?
Npm не всегда работает без сбоев, при установке пакетов могут возникать ошибки, кроме того он качает пакеты по очереди.…
Подробнее
Как получить случайный объект из базы данных в Django?
YourModel.objects.order_by('?')[0]
или
YourModel.objects.order_by('?').first()
Подробнее
Выводим Inline формы в админке Django в зависимости от группы в которой находится пользователь
Начиная с версии Django 3.* доступен метод get_inlines.
Допустим мы хотим показать Inline форму если пользователь на…
Подробнее
Как сериализовать объекты в Django?
# views.py
from django.http import JsonResponse
from django.core.serializers import serialize
import json
from …
Подробнее
Как "сжать" список любой вложенность итеративно в Python?
Подробнее