登录管理面板时显示此错误“'用户'对象没有属性'配置文件'”
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.
class Student(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='student')
age = models.IntegerField(max_length=2)
standard = models.CharField(max_length=15)
def __str__(self):
return self.user.username
@receiver(post_save, sender=User)
def create_student_profile(sender, instance, created, **kwargs):
if created:
Student.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_student_profile(sender, instance, **kwargs):
instance.profile.save()
subject_choices = [
('math','math'),
('science','science'),
('physics','physics'),
]
class Teacher(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='teacher')
subject = models.CharField(max_length=20, choices=subject_choices)
def __str__(self):
return self.user.username
@receiver(post_save, sender=User)
def create_teacher_profile(sender, instance, created, **kwargs):
if created:
Teacher.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_teacher_profile(sender, instance, **kwargs):
instance.profile.save()
batch_choices = [
('10','10:00 AM'),
('12','12:00 PM'),
('02','02:00 PM'),
('04','04:00 PM')
]
class Batch(models.Model):
b_name = models.CharField(max_length=20)
b_time = models.CharField(max_length=10, choices=batch_choices)
我还希望每当学生注册时,都会创建一个由其中的时间字段命名的批次,并且在每个第 41 个学生上,创建另一个具有下一次选择的批次