Как исправить надпись "Please correct duplicates" на странице администратора django?
Как исправить эту ошибку дублирования?
мой код показывает эту ошибку после добавления одного и того же учителя, говорит, что у него есть дубликаты, как я могу это исправить?
Вот мой код models.py. Возможно, это как-то связано с OneToOneField, я пробовал менять, но ошибка все еще существует.
from django.db import models
from django.contrib.auth.models import AbstractUser
from django_extensions.db.fields import AutoSlugField
from django.core.validators import MinValueValidator, MaxValueValidator
# Create your models here.
class User(AbstractUser):
is_admin = models.BooleanField('Is admin', default=False)
is_teacher = models.BooleanField('Is teacher', default=False)
is_student = models.BooleanField('Is student', default=False)
Эта ошибка произошла после использования AbstractUser
class Student(models.Model):
name = models.OneToOneField(
User, on_delete=models.CASCADE, primary_key=True)
id_number = models.IntegerField()
def __str__(self):
return str(self.name)
class Teacher(models.Model):
name = models.OneToOneField(
User, on_delete=models.CASCADE, primary_key=True)
def __str__(self):
return str(self.name)
class SchoolSubject(models.Model):
subject_name = models.CharField(max_length=250)
def __str__(self):
return self.subject_name
class Subject(models.Model):
SEMESTER_CHOICES = (
('1st', '1st Sem'),
('2nd', '2nd Sem')
)
REMARKS = (
('1', 'Passed'),
('2', 'Failed'),
('3', 'No Grade'),
('4', 'Incomplete')
)
instructor = models.OneToOneField(
Teacher, on_delete=models.CASCADE, unique=True)
name = models.ForeignKey(
Student, on_delete=models.CASCADE)
year_taken = models.CharField(max_length=225)
semester = models.CharField(
max_length=10, choices=SEMESTER_CHOICES, default='1st')
# subject_name = models.ForeignKey(TeacherSubject, on_delete=models.CASCADE)
subject_name = models.OneToOneField(
SchoolSubject, on_delete=models.CASCADE, unique=True)
grade = models.DecimalField(max_digits=4, decimal_places=2, blank=True, null=True,
validators=[
MinValueValidator(0.00), MaxValueValidator(5.00)])
remarks = models.CharField(max_length=10, choices=REMARKS, default='3')
slug = AutoSlugField(populate_from=['subject_name'], max_length=250)
def __str__(self):
return str(self.subject_name)
class Meta:
ordering = ['-year_taken', '-semester']
Ваша помощь будет высоко оценена