Невозможно запустить приложение Django, ошибка связана с тем, что похоже на циклический импорт?
В настоящее время я пытаюсь создать свое первое приложение на django, сайт для резюме. При попытке запустить приложение я получаю эту ошибку.
<class 'mainapp.admin.CertificateAdmin'>: (admin.E108) The value of 'list_display[3]' refers to 'is_active', which is not a callable, an attribute of 'CertificateAdmin', or an attribute or method on 'mainapp.Certificate'.
Вот что у меня есть в файле models.py, связанном с "сертификатом" (комментарии включены):
`class Certificate(models.Model): class Meta: verbose_name_plural = 'Certificates' verbose_name = 'Certificate'
date = models.DateTimeField(blank=True, null=True) # When the certificate was earned
name = models.CharField(max_length=50, blank=True, null=True) # Name of the certificate
title = models.CharField(max_length=200, blank=True, null=True) # Title or description of the certificate
description = models.CharField(max_length=500, blank=True, null=True) # Additional details about the certificate
is_active = models.BooleanField(default=True)`
А вот что у меня в файле admin.py:
@admin.register(Certificate) class CertificateAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'title', 'is_active') # Display 'id', 'name', and 'is_active' fields
ChatGPT пока ничем не помог, только круговые ответы, чтобы убедиться, что 'is_active' вызывается правильно, я не уверен, что это так, но кажется, что так (я вроде как новичок).
Я следую инструкциям из видео на youtube (да, я изучаю python и django с прошлого года, не следовал этому слепо!), часть "is_active" должна быть там, согласно chatgpt я попробовал удалить ее, и это заставило приложение запуститься, но были другие ошибки (страница не отображалась, и да, у меня есть все css и html файлы на месте).
В файле admin.py
вместо использования декоратора @admin.register
попробуйте сделать следующее:
class CertificateAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'title', 'is_active')
admin.site.register(Certificate,CertificateAdmin)