简体   繁体   English

Django:在“ migrate”命令期间出现“无效的默认值”

[英]Django: “Invalid default value” during “migrate” command

There is a simple model 有一个简单的模型

class Baz(models.Model):
  FOO = ('foo', 'Foo')
  BAR = ('bar', 'Bar')
  FOO_BAR = (FOO, BAR)

  foo_bar = models.CharField(max_length=5, default=FOO, choices=FOO_BAR)

After making migrations via python manage.py makemigrations , when trying to migrate, getting error: 通过python manage.py makemigrations进行迁移后,尝试迁移时出现错误:

django.db.utils.OperationalError: (1067, "Invalid default value for 'foo_bar'")

Tried to put ('foo', 'Foo') explicitly with no result. 试图显式放置('foo', 'Foo') ,但没有结果。 Tried to use FOO_BAR[0] - same error. 尝试使用FOO_BAR[0] -相同的错误。

Any ideas? 有任何想法吗?

您不应将变量指定为默认值,而应提供将要保存的实际值:

foo_bar = models.CharField(max_length=5, default='foo', choices=FOO_BAR)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM