在对this question answer的评论中,我询问了如何删除具有默认值函数的字段。综上所述,示例代码:如何删除Django中的默认值功能
def get_deadline():
return datetime.today() + timedelta(days=20)
class Bill(models.Model):
name = models.CharField(max_length=50)
customer = models.ForeignKey(User, related_name='bills')
date = models.DateField(default=datetime.today)
deadline = models.DateField(default=get_deadline)
和我的代码的问题是:
你怎么又来删除
deadline
场,同时还删除get_deadline
功能?我已经删除了一个具有 默认值的函数的字段,但是现在Django在删除 函数后崩溃。我可以手动编辑迁移,这在 这种情况下可以,但是如果您只是更改了默认功能,而 想要删除旧功能呢?
我最终删除了引用它的默认迁移部分,但是如何很好地将其删除?
我能想到的唯一方法是挤压迁移,使得使用该功能的迁移消失,但这并不总是一种选择。
或按照@Alasdair的回答:3.编辑迁移以使用不同的(或没有)默认 – beruic
我会说这两个答案只提示两个步骤1)挤压迁移2)编辑迁移。您如何编辑迁移是您的选择。你可以复制那里的功能并编辑参考。或者,您可以从那里删除默认字段,或者您可以使用其他地方的其他功能。 :) – AKS
你应该更新你的答案然后;) – beruic