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

Имейте в виду, это приведет к удалению вашей базы данных и ваших миграций!

Но, скорее всего, это решит вашу проблему.

Вернуться на верх