Jim*_*ang -2 python django django-models
在我的一张表中,我有一个字段game_fen_when_leave = models.TextField()。但它给了我一个错误“您试图在没有默认值的情况下向游戏添加一个不可为空的字段'game_fen_when_leave';我们不能这样做(数据库需要一些东西来填充现有行)”。这个字段有必要有默认值吗?我看到了一个没有默认值的例子。
小智 5
简短回答
\n创建新模型时:不,不是
\n将其添加到现有模型时:是,不是
关于该主题的更多信息:
\n根据给出的信息,我猜您即将将此新字段添加到现有表中。
当向现有模型添加新的不可空字段时,您需要提供默认值。这是因为该特定表中可能已经有行,并且这些行需要默认值来填充这个新字段。(我实际上只是在这里重复错误消息。)
\n在您引用的示例中:
\n模型是新的,并且不能存在需要填充默认值的现有行。因此不需要 TextField 的默认值。
几种可能性
\n默认情况下,Django TextField 是不可为空的。您有权更改它,但不建议这样做:\n https://docs.djangoproject.com/en/3.0/ref/models/fields/#null
\n\n\n如果基于字符串的字段 null=True,则意味着 \xe2\x80\x9cno data\xe2\x80\x9d 有两个可能的值:NULL 和空字符串。
\n
| 归档时间: |
|
| 查看次数: |
6336 次 |
| 最近记录: |