Начиная с версии 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 []