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

时间:2014-10-02 06:56:19

标签: python mysql django django-models

我正在尝试为Date,Integer和CharFields等少数字段设置默认值,但是当我将其设置为default=12时(如果是整数),则不会在页面中反映出来。但是,始终显示默认值零。

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

以上字段是必填字段,因此默认情况下会以形式显示0,但不会显示除零之外的任何字段。

与charField和DateField的情况相同,在这种情况下,表格中根本不显示任何内容。

我在后端使用mySQL。

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

2 个答案:

答案 0 :(得分:0)

将默认值设置为模型

此默认值会按照您的建议添加

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

但是,当创建对象并且没有收到此字段的任何值时,此值将仅用于

示例:

class Year (models.Model):
    name = models.CharField(max_length=75)
    months = models.IntegerField(default=12)

现在在控制台/视图中你可以这样做:

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

答案 1 :(得分:0)

您应该检查默认值是否实际存在。如果在创建模型并应用syncdb后添加了默认值,请确保运行makemigrate(在Django 1.7上)或外部应用程序(如South)以更改数据库表。如果您没有,或者您只运行syncdb,则此更改不会反映在您的MySQL上。