首页 文章

在Django的管理站点中显示模型

提问于
浏览
0

我有一个模型,我想在管理站点上显示 .

models.py:

class UserDetails(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='userdetails')
    address = models.CharField(max_length=50, default='Not set')

def __unicode__(self):
    return u' %s %s ' % (self.user, self.address)

admin.py:

from django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
from index.models import User, UserDetails

class UserDetailsAdmin(admin.ModelAdmin):
    fields = ("address",)

admin.site.unregister(User)
admin.site.register(User, UserDetailsAdmin)

我收到一个错误:

FieldError:为User指定的未知字段(地址) . 检查类UserDetailsAdmin的字段/字段集/排除属性 .

怎么了?

2 回答

  • 2

    admin.py

    这样做 get details of your model attribute

    class UserDetailsAdmin(admin.ModelAdmin):
        list_display = ('address', 'user')
    
    admin.site.register(UserDetails, UserDetailsAdmin)
    

    list_display 控制 admin 的更改列表页面上 fields displayed

  • 4

    在你的 admin.py

    更改

    admin.site.register(User, UserDetailsAdmin)
    admin.site.unregister(User)
    

    admin.site.register(UserDetails, UserDetailsAdmin)
    admin.site.register(User)
    

相关问题