我有一个模特:
class mymodel(models.Model):
order_closed = models.BooleanField(default=False)
我将此字段手动添加到我的开发mysqllite数据库中,因为它是已存在的模型/表的新字段。然后我尝试了:
mymodel.objects.filter(order_closed=False) #and with True
及其产生不正确或不可预测的结果。我看到一些提及可能是一个sqllite的东西,但我不确定?模板似乎理解它是真值还是假值,但python代码不是。通过一些例子澄清:
在sqllite中将默认值设置为0后,{{mymodel.order_closed}}将打印0。但是使用.filter(order_closed = value)仍将返回每条记录。
答案 0 :(得分:0)
我认为你在犯错SQL时犯了一些错误。如果您的db有一些重要的信息,请使用
south
当您拥有它时,您可以轻松升级/编辑您的数据库。
如果您不想安装新的“插件”,请试试。 1.从DB manualy删除此字段。 2.写:python manage.py sql'app of app'
它将返回应用程序的CREATE TABLE SQL语句。
然后,您可以使用一些CReate命令手动升级数据库。