Ошибка значения: Серверная часть базы данных не принимает 0 в качестве значения для автоматического поля в django

#python #django #django-models

Вопрос:

Я использую версию Django 3.2. Когда я бегу python manage.py migrate , я получаю ValueError . Я использую базу данных mysql. Вот моя модель:

 from django.db import models
from django.contrib.auth.models import User
from django.db.models.fields import AutoField
from django.forms.fields import SlugField

class BlogWrite(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE, 
    related_name='author')
    title = models.CharField(max_length=155, verbose_name="Title")
    slug = models.SlugField(max_length=155, unique=True)
    blog_content = models.TextField()
    blog_image = models.ImageField(upload_to='blog_img', blank=True)
    published_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title
   
 

Как устранить эту ошибку?

Комментарии:

1. default=False является виновником. Обычно an AutoField предоставляет только первичные ключи, которые больше 0 и False которые 0 не имеют смысла, но a default=... для a ForeignKey обычно не имеет большого смысла.