使用Peewee在MariaDB中强制执行非空字段

时间:2016-01-07 18:35:07

标签: python mysql mariadb peewee

好吧,我正在尝试将Peewee用于一个小项目。我需要字段texturl(MariaDB中的longtextnot nullnot null我理解不允许空值为存储在字段中,所以我这样做了:

database = MySQLDatabase("mydatabase", user="", password="123justkidding", host="localhost")

class MyTable(Model):
    text = TextField(null = False)
    url = TextField(null = False, max_length = 100)

    class Meta:
        database = database

然后,当然,我创建了表,我开始添加值,很多值。问题是emptytext字段上有一些url值,我不希望它们出现。 我运行了这个查询:

SELECT `table`.`text`, `table`.`url` FROM `table` WHERE `table`.`text`="" AND `table`.`url`=""

并给了我四行。那么,我想念的是什么人呢?

另外,我注意到MariaDB有TextMedium TextLongText作为数据类型  在我看来,TextFieldPeewee的{​​{1}}是LongTextMariaDB的默认值。我可以用任何方式改变它吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

""是空字符串。 NULL完全不同。