그래서 나는 이상한 것을 발견했습니다. 방금 내 관리 페이지에 표시하고 싶은 필드가없는 것을 확인했습니다. 실패한 모델은 OneToOne 관계를 사용하여 User 모델의 확장 인 "프로필"모델입니다. 코드는 다음과 유사합니다.Django - list_display 속성이 사용자 모델이있는 OneToOne이있는 모델의 필드를 표시하지 않습니다.
models.py
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
# Create your models here.
#We need to extend the User Model
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.CharField(max_length=4096, null=True)
email_confirmed = models.BooleanField(default=False)
def __str__(self):
return self.user.username
def get_username(self):
return self.user.username
def get_bio(self):
return self.bio
def get_email_confirmed(self):
return self.email_confirmed
@receiver(post_save, sender=User)
def update_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
instance.profile.save()
admin.py는
from django.contrib import admin
from .models import Profile
# Register your models here.
class ProfileAdmin(admin.ModelAdmin):
list_display = ('email_confirmed', 'bio')
admin.site.register(Profile)
그러나, 이러한 변화와 함께, 관리자 페이지는 다음과 같습니다
그 해결책을 가져 주셔서 감사합니다. 그 해결책은 불행히도 "MediaDefiningClsas '객체를 반복 할 수 없습니다." – Alien13
인라인을 사용 했습니까? 내 개인 git에서 내 코드를 반영하기 위해 내 대답을 편집 중입니다 –
나는 지금까지 어떤 인라인도 사용하지 않고 있습니다. – Alien13