Django IntegrityError: Ошибка уникального ограничения - PullRequest
0 голосов
/ 25 февраля 2019

Я уже создал таблицу.Теперь мне нужно добавить ограничение Unique для каждого поля, но когда я пытаюсь запустить python manage.py migrate , получая эту ошибку

IntegrityError: Ошибка UNIQUE Constrint: employee.econtact

Вот мой код: -

model.py

from __future__ import unicode_literals
from django.db import models
from django.db import IntegrityError

from django.db import migrations, connection


class Employee(models.Model):
    eid = models.CharField(max_length=20)
    ename = models.CharField(max_length=50)
    email = models.EmailField(default = None, blank =True, null=True)
    econtact = models.IntegerField( null = True, default=None)

    class Meta:
        db_table = "employee"





def alter_table(apps, schema_editor):
    query ="ALTER TABLE <your table> ADD UNIQUE (unique_col);"
    cursor = connection.cursor()
    cursor.execute(query)
    cursor.close()

class Migration(migrations.Migration):

    dependencies = [
        ('app', 'yourlastmigration'),
    ]

    operations = [
        migrations.RunPython(alter_table),
    ]
}
...