Как отладить «django.db.utils.IntegrityError: Сбой уникального ограничения»? - PullRequest
0 голосов
/ 31 мая 2018

Я не могу отладить это:

django.db.utils.IntegrityError: сбой ограничения UNIQUE: post_employee.employee_id

Я сохраняю значение с помощьютогда мой встроенный админ работает нормально, но когда я редактирую эти значения, это повышает целостность.Вот мой код:

models.py

from django.db import models
from django.db.models.signals import post_save
# Create your models here.
class Person(models.Model):
    name = models.CharField(max_length=100)
    gender = models.CharField(max_length=10)

    def __str__(self):
        return (self.name)

class Employee(models.Model):
    employee = models.OneToOneField(Person,on_delete=models.CASCADE)
    emp_no = models.CharField(max_length=100)
    desgnation = models.CharField(max_length=100)

    def __str__(self):
        return str(self.employee)



def create_profile(sender,**kwargs):
    if kwargs:
        Employee.objects.create(employee = kwargs['instance'])
post_save.connect(create_profile,sender=Person)

Ошибки

IntegrityError at /admin/post/person/1/change/
UNIQUE constraint failed: post_employee.employee_id
Request Method: POST
Request URL:    http://localhost:8000/admin/post/person/1/change/
Django Version: 2.0.5
Exception Type: IntegrityError
Exception Value:    
UNIQUE constraint failed: post_employee.employee_id

В базе данных я вижу employee_id - integer - employee_id NOT NULL UNIQUE

Это ошибка IntegerityErrorподходит к этому УНИКАЛЬНО, тогда как это исправить?Я хочу удалить эту ошибку целостности.

...