from django.db import models
from django.contrib import admin
# 定义一个新的用户模型
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
phone_number = models.CharField(max_length=20, blank=True)
website = models.URLField(blank=True)
picture = models.ImageField(upload_to='profile_images', blank=True)
bio = models.TextField(blank=True)
# 定义一个用于在Admin后台管理用户模型的配置
class UserProfileAdmin(admin.ModelAdmin):
list_display = ('user', 'phone_number', 'website', 'picture', 'bio')
fieldsets = (
(None, {
'fields': ('user', 'phone_number', 'website', 'picture', 'bio')
}),
)
# 注册模型和配置
admin.site.register(UserProfile, UserProfileAdmin)
这段代码定义了一个新的模型UserProfile
,它扩展了Django的用户模型,并添加了额外的字段。同时定义了一个UserProfileAdmin
类来配置这个模型在Django Admin后台的显示方式。最后,通过admin.site.register
将模型和配置注册到Admin系统中。这个例子展示了如何在Django中创建和自定义模型以及它们在Admin后台的展示方式。