我扩展了我的用户模型以创建两种个人资料类型,一个导师个人资料和一个学生个人资料。但是我注意到我无法在 django.admin 中查看我的任何用户。我只看到经过身份验证的组。
这是我的 admin.py 文件
from django.contrib.auth import get_user_model
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .forms import TeacherSignUpForm, StudentSignUpForm
from .models import Student, Mentor
class CustomerUserAdmin(UserAdmin):
add_mentor_form = TeacherSignUpForm
add_student_form = StudentSignUpForm
mentor_model = Mentor
student_model = Student
admin.site.register(Mentor, Student, CustomerUserAdmin)
models.py
class User(AbstractUser):
is_student = models.BooleanField(default=False)
is_teacher = models.BooleanField(default=False)
is_activated = models.BooleanField(default=False)
...
class Student(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
def __str__(self):
return "Profile of user{}".format(self.user.username)
class Mentor(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='mentor')
linkedin = models.URLField(max_length=200,null=True,blank=True)
photo = models.ImageField(null=True, blank=True, upload_to='media', default='default.jpg')
address = models.CharField(max_length=500, null=True, blank=True)
billing_name = models.CharField(max_length=200, null=False, blank=False)
account_num = models.IntegerField(default=1234)
bank_name = models.CharField(max_length=50, null=False)
branch_code = models.IntegerField(default=1234)
def __str__(self):
return "Profile of user {}".format(self.user.username)
...
只是为了解释我的项目的结构。我有 3 个视图,教师、学生和课堂。课堂视图处理主页和任何访问者都可以查看的页面(您不需要登录),教师=教师个人资料页面和学生=学生个人资料页面
不知道我做错了什么
浮云间
相关分类