0

我有一个模型:

class mymodel(models.Model):
    order_closed = models.BooleanField(default=False)

我手动将此字段添加到我的开发 mysqllite db 中,因为它是已经存在的模型/表的新字段。然后我尝试了:

mymodel.objects.filter(order_closed=False) #and with True

及其产生不正确或不可预测的结果。我看到有人提到这可能是一个 sqllite 的东西,但我不确定?模板似乎可以理解它是真值还是假值,但 python 代码却没有。用一些例子来澄清:

{{mymodel.order_closed}} 在 sqllite 中将默认值设置为 0 后将打印 0。但使用 .filter(order_closed=value) 仍会返回每条记录。

4

1 回答 1

0

我认为您在编写 SQL 时犯了一些错误。如果您有包含一些重要信息的数据库,请使用

south

http://south.aeracode.org/

当您拥有它时,您可以轻松升级/编辑您的数据库。

如果您不想安装新的“插件”,请尝试。1. 手动从数据库中删除该字段。2. 编写:python manage.py sql '应用程序名称'

它将返回应用程序的 CREATE TABLE SQL 语句。

然后,您可以使用一些 CCreate 命令手动升级您的数据库。

于 2012-11-26T11:43:31.293 回答