【发布时间】:2021-09-06 17:52:14
【问题描述】:
我有 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”添加到没有默认值的流中;我们不能这样做(数据库需要一些东西来填充现有的行)。 请选择一个修复:
- 现在提供一次性默认值(将在所有现有行上设置此列的空值)
- 退出,让我在 models.py 中添加一个默认值 选择一个选项:
如何解决?我把默认smth。但是在函数 add_post 我添加了 date=post.posted 谢谢!
【问题讨论】: