Ошибка целостности в /admin/main/post/add/ NOT NULL ограничение не выполнено: main_post.status

#python #django #web

#python #django #веб

Вопрос:

Как это исправить? Это после того, как я создаю новое сообщение и когда я нажимаю кнопку «добавить»

Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей. Почему stackoverflow спрашивает об этом?

 #models.py
from django.db import models
from django.contrib.auth.models import User


class Post(models.Model):
    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=255)
    author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
    content = models.TextField()
    
    created_on = models.DateTimeField(auto_now_add=True)
    updated_on = models.DateTimeField(auto_now= True)

    def __str__(self):
        return self.title

#admin.py
from django.contrib import admin
from .models import Post

class PostAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title',), }

admin.site.register(Post,PostAdmin)
  

Ответ №1:

Возможно, вы забыли использовать команды управления makemigrations и migrate после удаления status поля из вашей Post модели. Насколько я вижу, у вас нет поля status в вашей модели, но это поле все еще существует в вашей базе данных. Поэтому убедитесь, что это поле правильно удалено из вашей базы данных с помощью этих команд управления ( makemigrations и migrate ) или, если ваши данные не важны, вы можете выполнить следующую процедуру:

a- Удалите вашу базу данных и создайте новую

b- Удалить все файлы миграции

c- запустить manage.py makemigrations и manage.py migrate