Django.db.utils.IntegrityError: UNIQUE constraint failed: new__main_doctor.email

Я пытался изменить null = False и Unique = True в EmailField и после этого он начал выдавать мне эту ошибку: django.db.utils.IntegrityError: UNIQUE constraint failed: new__main_doctor.email Я выполнил команды makemigrations и migrate, но она все равно выдает эту ошибку. Я попытался отменить эти команды и затем запустить их, но они все равно выдают ошибку.

вот мой файл models.py

    from django.db import models
    from phonenumber_field.modelfields import PhoneNumberField
    import os 
    # Create your models here.
    import datetime
    def get_file_path(request, filename):
        filename_original = filename
        nowTime = datetime.datetime.now().strftime('%Y%m%d%H:%M:%S')
        filename = "%s%s" % (nowTime, filename_original)
        return os.path.join('uploads/', filename)
    
    
    class Doctor(models.Model):
        name = models.CharField(max_length=20)
        phone_number = PhoneNumberField(null=False, blank=False, unique=True)
        email = models.EmailField(null=False, unique=True, max_length=100)
        city = models.CharField(max_length=100)
        speciality =  models.CharField(max_length=50)
        doc_image = models.ImageField(upload_to = get_file_path ,null = False, blank = False)
        kycdocument = models.ImageField(upload_to = get_file_path, null = False, blank = False)
    
    
    class Department(models.Model):
        dept_name = models.CharField(max_length=20)
        dept_Email = models.EmailField(max_length=100)
        dept_password = models.CharField(max_length=200)

здесь находится файл forms.py

    from django import forms
    from .models import Doctor,Department
    
    
    class Doctorslist(forms.ModelForm):
        class Meta:
            model = Doctor
            fields = ('name','phone_number','email', 'city', 'speciality', 'doc_image', 'kycdocument')
            # widgets = {
            #     'name':  forms.TextInput(attrs = {'class': 'form-control'}),
            #     'email':  forms.EmailInput(attrs={'class': 'form-control'}),
            #     'city':  forms.CharField(attrs={'class': 'form-control'}),
            #     'speciality': forms.CharField(attrs={'class': 'form-control'}),
            # }   
    
    
    class Departmentform(forms.ModelForm):
        class Meta:
            model = Department
            fields = ('dept_name','dept_Email','dept_password')
            widgets = {'dept_password': forms.PasswordInput()}

Это ошибка

Потому что в старых данных БД у вас дублируются письма. вы можете удалить все старые данные или найти дублирующиеся данные и изменить их.

Вернуться на верх