google_online
@google_online
My morning begins with coffee and Twitter.

Как отобразить поля модели в админ панели?

У меня есть модель "UserLevel". Нужно отобразить все поля из этой модели в админке.
class UserLevel(models.Model):
    level = models.ForeignKey(Level, on_delete=models.CASCADE)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    progress = models.IntegerField(default=0)

    def __str__(self):
        return str(self.user)

Так работает, но как добавить остальные поля, я не знаю.
  • Вопрос задан
  • 1345 просмотров
Решения вопроса 1
google_online
@google_online Автор вопроса
My morning begins with coffee and Twitter.
Решение:
model.py
class UserLevel(models.Model):
    level = models.ForeignKey(Level, on_delete=models.CASCADE)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    progress = models.IntegerField(default=0)

    def __str__(self):
        return str(self.level)

admin.py
@admin.register(UserLevel)
class UserLevelAdmin(admin.ModelAdmin):

    list_display = ('level_id', 'user', 'level', 'progress')
    list_select_related = (
        'level',
    )
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
crazyzubr
@crazyzubr
Python backend-developer
Пропишите в классе админки для UserLevel list_display

Пример:

class UserLevelAdmin(admin.ModelAdmin):
    list_display = ('id', 'level', 'user', 'progress')

admin.site.register(UserLevel, UserLevelAdmin)
Ответ написан
Konstantin18ko
@Konstantin18ko
Стоматолог
list_display = ('__all__')
Не уверен, но можно так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы