Определенные модели не отображаются в админке django 4, несмотря на регистрацию
Используется django 4.0.3 и restframework.
У меня есть несколько моделей, зарегистрированных в админке django:
@admin.register(models.Drug)
class DrugAdmin(admin.ModelAdmin):
list_display = ('apl_label', 'name', 'drug_class', 'atc_code', )
@admin.register(models.Organism)
class OrganismAdmin(admin.ModelAdmin):
list_display = ('apl_label', 'long_name', 'short_name', 'genus', 'flagged', 'notes')
....
По какой-то причине некоторые модели не отображаются в представлении администратора. В данном примере отображается Organism, но Drug скрыт. Я могу зайти в http://localhost:8000/admin/api/drug/ и получить доступ к этой странице администратора, но она не отображается в http://localhost:8000/admin/. Сообщение об ошибке также отсутствует. Я запустил makemigrations и migrate.
Разрешения устанавливаются глобально только в settings.py:
...
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
],
Все время одни и те же модели не отображаются. Я пробовал удалять базу данных и создавать все с нуля. Безрезультатно. Почему Django решает не показывать определенные модели?
Если это решит вашу проблему, вы можете использовать это. Или вы можете проверить это, чтобы понять, является ли проблема из-за вашего admin.py или нет.
Это будет работать правильно:
from django.contrib import admin
from .models import (
Drug,
Organism,
)
admin.site.register(Drug)
admin.site.register(Organism)
Этого не должно происходить. Ваш код кажется мне совершенно нормальным. Убедитесь, что ваш верхний импорт содержит следующие строки:-
from django.contrib import admin
from . import models
Если ваши модели не имеют дополнительных настроек, таких как наборы полей и/или заголовки разделов, вы можете попробовать использовать старый добрый admin.site.register(models.modelname). Возможно, декоратор по какой-то причине не работает у вас, хотя я никогда не встречал такого раньше.
