【发布时间】:2011-09-03 10:52:46
【问题描述】:
我有以下Django 型号代码:
status = models.PositiveIntegerField(default = 0b000)
comments_allowed = models.BooleanField(default = True) # whether comments are allowed to this post
但我预计,它会生成类似 SQL
`status` integer NOT NULL default '4',
`comments_allowed` bool NOT NULL default TRUE
这没有发生,当我运行 manage.py sqlall appname 时它会产生:
`status` integer UNSIGNED NOT NULL,
`comments_allowed` bool NOT NULL
深入研究Django 的代码和谷歌搜索什么也没给我,但詹姆斯班纳特的评论认为default 不会影响生成SQL,但Django 管理员需要。即使是这样,我怎样才能得到想要的效果?
我的Django 版本是 1.3.0 最终版
【问题讨论】:
-
default也可以分配可调用对象这一事实表明它主要在模型实例创建期间使用。除了手动运行SQL ALTER命令之外,AFAIK 不可能做你想做的事。 -
谢谢,肖恩。我期待这个答案,因为我的谷歌搜索没有结果。
标签: mysql django django-models