在Django模型中无法设置默认值

2024-10-16 20:43:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为一些字段设置默认值,比如Date、Integer和CharFields,但是当我像default=12(对于Integer)那样设置它时,它不会反映在页面中。但是,默认值总是显示为零。在

Months = models.IntegerField('Enter the month',default=12

上面的字段是必填字段,因此表单中显示默认的0,但不显示除零以外的任何内容。在

charField和DateField也是如此,在这种情况下,表单中根本没有显示任何内容。在

我在后端使用mySQL。在

我想把默认日期设置为'0000-00-00',我该怎么做?在


Tags: thedefault表单内容datemodelsinteger页面
2条回答

您应该检查默认值是否确实存在。如果在创建模型并应用syncdb之后添加了默认值,请确保运行makemigrate(在django1.7上)或像South这样的外部应用程序来更改数据库表。如果不运行或者只运行syncdb,那么这个更改不会反映在MySQL上。在

在模型中设置默认值

此默认值按您的建议添加

Months = models.IntegerField('Enter the month',default=12...

但是这个值只会在创建一个对象时使用,而您对此字段不接收任何值

示例:

^{pr2}$

现在在控制台/视图中,您可以执行以下操作:

new_year = Year(name='any_name')
new_year.save()  # And the Year object is created with months = 12

相关问题 更多 >