Начиная с версии 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 []
Другие публикации из блога
Как предотвратить билд образа Docker из кэша?
При билде образа Docker создает кэши что не всегда бывает удобно и занимает много места на сервере. Для экономии места …
Подробнее
Как создать Django app в определенной папке
Предположим структура вашего проекта выглядит следующим образом:
apps/ config/ db.sqlite3 manage.py* media/ r…
Подробнее
Как выгрузить\восстановить базу данных PostgreSQL из Docker-контейнера
Выгрузить SQL дамп базы
docker exec -i pg_container_name /bin/bash -c "PGPASSWORD=pg_password pg_dump --username p…
Подробнее
Как обновить npm в Ubuntu?
sudo npm update npm -g
или
sudo npm install npm -g
Подробнее
Django не отображает статических файлов в режиме DEBUG=False
Для решения проблемы используйте --insecure
python manage.py runserver --insecure
или
django-admin runserver -…
Подробнее
После обновления >= psycopg 3.1.8 в Django до 4.2.* появляется 502 ошибка
Скорее всего вы не установили всех зависимостей psycopg:
pip install "psycopg[binary,pool]"
Подробнее