您正在尝试在没有默认值的情况下向流中添加不可为空的字段 'post';我们不能那样做
You are trying to add a non-nullable field 'post' to stream without a default; we can't do that
我有models.py
class Stream(models.Model):
following = models.ForeignKey(User, on_delete=models.CASCADE,
related_name='stream_following')
user = models.ForeignKey(User, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
date = models.DateTimeField()
和函数
def add_post(sender, instance, *args, **kwargs):
post = instance
user = post.user
followers = Follow.objects.all().filter(following=user)
for follower in followers:
stream = Stream(post=post, user=follower.follower, date=post.posted, following=user)
stream.save()
当我尝试命令 py manage.py makemigrations
我有一个问题。
您正在尝试将不可为空的字段 'post' 添加到没有默认值的流中;我们不能那样做(数据库需要一些东西来填充现有行)。
请 select 修复:
- 现在提供一次性默认值(将在所有现有行上设置此列的空值)
- 退出,让我在models.py中添加一个默认值
Select一个选项:
如何解决?我把默认smth。但是在函数 add_post 中我添加了 date=post.posted
谢谢!
您可能更改了模型,而它已经有数据了
您可以选择:
一个。从该模型中删除数据并重新进行迁移,或者
b。删除迁移和 sqlite 文件并重新进行迁移,或者
c。通过输入 1 选择“现在提供一次性默认值”,然后添加一个随机的现有 ID 号(但它可能会弄乱您的数据),或者
d。将 blank=True,null=True 添加到模型中的所有字段并重新迁移,
我有models.py
class Stream(models.Model):
following = models.ForeignKey(User, on_delete=models.CASCADE,
related_name='stream_following')
user = models.ForeignKey(User, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
date = models.DateTimeField()
和函数
def add_post(sender, instance, *args, **kwargs):
post = instance
user = post.user
followers = Follow.objects.all().filter(following=user)
for follower in followers:
stream = Stream(post=post, user=follower.follower, date=post.posted, following=user)
stream.save()
当我尝试命令 py manage.py makemigrations 我有一个问题。
您正在尝试将不可为空的字段 'post' 添加到没有默认值的流中;我们不能那样做(数据库需要一些东西来填充现有行)。 请 select 修复:
- 现在提供一次性默认值(将在所有现有行上设置此列的空值)
- 退出,让我在models.py中添加一个默认值 Select一个选项:
如何解决?我把默认smth。但是在函数 add_post 中我添加了 date=post.posted 谢谢!
您可能更改了模型,而它已经有数据了
您可以选择:
一个。从该模型中删除数据并重新进行迁移,或者
b。删除迁移和 sqlite 文件并重新进行迁移,或者
c。通过输入 1 选择“现在提供一次性默认值”,然后添加一个随机的现有 ID 号(但它可能会弄乱您的数据),或者
d。将 blank=True,null=True 添加到模型中的所有字段并重新迁移,