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()}
Это ошибка
Потому что в старых данных БД у вас дублируются письма. вы можете удалить все старые данные или найти дублирующиеся данные и изменить их.