Django.db.utils.ProgrammingError: для столбца "id" таблицы "products_customer" указано несколько значений по умолчанию
После выполнения миграции я попытался выполнить миграцию, но получаю ошибку django.db.utils.ProgrammingError: multiple default values specified for column "id" of table "products_customer"
Но я удаляю эту таблицу клиентов из models.py как мне решить эту проблему?
models.py
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
# Create your models here.
class product(models.Model):
product_id = models.IntegerField(primary_key=True)
product_name = models.CharField(max_length=255)
product_price = models.FloatField()
product_stock = models.IntegerField()
product_image = models.CharField(max_length=2500)
class order(models.Model):
order_id = models.IntegerField(primary_key=True)
product_id = models.ForeignKey(product,on_delete=models.CASCADE)
user = models.ForeignKey(User,on_delete=models.CASCADE)
order_quantity = models.IntegerField()
order_total = models.IntegerField()
order_shipped = models.BooleanField()
class address(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
house_name = models.CharField(max_length=255, blank=True)
town = models.CharField(max_length=255, blank=True)
post_office = models.CharField(max_length=255, blank=True)
pincode = models.CharField(max_length=255)
district = models.CharField(max_length=255, blank=True)
land_mark = models.CharField(max_length=255, blank=True)
phone = models.CharField(max_length=15, blank=True)
@receiver(post_save, sender=User)
def create_user_address(sender, instance, created, **kwargs):
if created:
address.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_user_address(sender, instance, **kwargs):
instance.address.save()
Я думаю, что вы получаете эту ошибку, потому что пытаетесь выполнить миграцию на несуществующую таблицу базы данных.
Попробуйте удалить все из папки migrations
(кроме __init__.py
), а также удалите файл базы данных .sqlite3
, затем повторите запуск
python manage.py makemigrations
python manage.py migrate
Имейте в виду, это приведет к удалению вашей базы данных и ваших миграций!
Но, скорее всего, это решит вашу проблему.