如果不指定默认值,则不可能向视频添加不可为空的字段“id”

1 python django django-models django-views

这是我的 models.py

from ast import Delete
from email.policy import default
from django.db import models
from django.contrib.auth.models import User

class Video(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title=models.CharField(max_length=100, null=False)
    description=models.TextField(max_length=1000,null=True)
    video=models.FileField(upload_to="video/%y",null=False)

    def __str__(self):
        return self.title

class Euser(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    phone = models.CharField(max_length=10,null=True)
    birthdate = models.DateField(null=True,)
    profile_pic = models.ImageField(null=True, )
    cover_pic = models.ImageField( null=True, upload_to="images/%y")

    def __str__(self):
        return self.phone
Run Code Online (Sandbox Code Playgroud)

当我尝试进行迁移时

如果不指定默认值,则不可能将不可为空的字段“id”添加到视频中。这是因为数据库需要一些东西来填充现有的行。请选择修复:

  1. 现在提供一次性默认值(将在该列具有空值的所有现有行上设置)
  2. 退出并在 models.py 中手动定义默认值。

出现此错误...请建议我该怎么办

并建议我了解模型的任何变化

Man*_*ble 5

对于特定模型,在数据库中,如果记录已经存在并向模型添加新字段,则会显示这样的错误。要解决此问题,您必须将新字段设置为Blank=Truenull=True ,或者您可以使用default='some_value'为新字段设置一些默认值