我无法向使用 Django 管理员创建的任何用户添加电子邮件

i cant add an email to any user i created using the the django admin

这是我的问题我有一个有多个用户的网站,但我将用户分为 2,医生和病人,医生比病人有更高的权限,但每当我添加 user.doctor,我不会得到他们的电子邮件地址,但只有电子邮件地址可用于登录,同时我设置每个注册任何用户自动创建患者,所以我可以使用管理面板升级他们,但如果我直接创建任何用户我不会收到他们的电子邮件,只有其余信息 显示的电子邮件地址是我使用网站或 createsuperuser

创建的

这是我的代码

models.py

class CustomUser(AbstractUser):
    is_doctor = models.BooleanField(default=False)

    def __str__(self):
        return self.email


class Status(models.Model):
    title= models.CharField(max_length=5)


    def __str__(self):
        return self.title


class Doctor(models.Model):
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, null=True, related_name="doctor")
    image = models.ImageField(default='jazeera.jpg', upload_to='profile_pics')
    bio = models.TextField()
    speciality = models.CharField(max_length=300)
    describtion = models.CharField(max_length=100)
    status = models.ManyToManyField(Status)



    def __str__(self):
        return f'{self.user.username}'


    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)


        img = Image.open(self.image.path)

        if img.height > 300 or img.width > 300:
            output_size = (300, 300)
            img.thumbnail(output_size)
            img.save(self.image.path)



class Patient(models.Model):
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, null=True, related_name="patient")
    subscribe = models.BooleanField(default=False)

    def __str__(self):
        return f'{self.user.username}'



@receiver(post_save, sender=CustomUser)
def create_user_profile(sender, instance, created, **kwargs):
    print("****", created)
    if instance.is_doctor:
        Doctor.objects.get_or_create(user=instance)

    else:
        Patient.objects.get_or_create(user=instance)



@receiver(post_save, sender=CustomUser)
def save_user_profile(sender, instance, **kwargs):
    print("_-----")
    # print(instance.internprofile.bio, instance.internprofile.location)
    if instance.is_doctor:
        instance.doctor.save()
    else:
        Patient.objects.get_or_create(user=instance)

forms.py

class CustomUserCreationForm(UserCreationForm):

    class Meta(UserCreationForm.Meta):
        model = CustomUser
        fields = ('email', 'username',)

class CustomUserChangeForm(UserChangeForm):

    class Meta:
        model = CustomUser
        fields = ('email', 'username',)



class CustomUserUpdateForm(forms.ModelForm):
    email = forms.EmailField()

    class Meta:
        model = CustomUser
        fields = ['email', 'username']


class DoctorUpdateForm(forms.ModelForm):
    class Meta:
        model = Doctor
        fields = ['image', 'speciality', 'bio']

class PatientUpdateForm(forms.ModelForm):
    class Meta:
        model = Patient
        fields = [ 'subscribe' ]

admin.py

from .forms import CustomUserCreationForm, CustomUserChangeForm,CustomUserUpdateForm
from .models import CustomUser,Doctor,Patient,Status

class CustomUserAdmin(UserAdmin):
    add_form = CustomUserCreationForm
    form = CustomUserChangeForm
    edit_form = CustomUserUpdateForm
    model = CustomUser
    list_display = ['email', 'username',]

admin.site.register(CustomUser, CustomUserAdmin)

我发现电子邮件地址也会从管理站点手动添加

[! in your admin site you just have to edit and add it]1