Python 3.x Flask Admin在数据库中存储NULL,而不是空字符串(';';)
标题说明了一切。使用flask admin并希望在我的数据库中存储一个空字符串,而不是NULL,但是当我在flask admin中保留一个字段为空时,它会在数据库中输入NULL。如果我在flask admin视图中键入“”,数据库将其存储为数据库中的““”” 我不是像许多其他人所问的那样,询问如何在flask admin视图中显示空字符串。我问我应该在flask admin视图中键入什么,或者应该更改什么代码,以便从flask admin视图在数据库中存储空字符串 我之所以需要这样做,是因为我的部分代码为“”验证有问题的表列(空字符串)。示例:db.tablename.query.filter_by(complete='')。一个选项是将所有验证更改为db.tablename.query.filter_by(complete=None),但我希望在验证“”时保持所有代码的一致性,并且将所有验证行更改为None会非常困难,因此如果我知道如何从flask admin视图中将表单元格设置为空字符串,这将非常有帮助Python 3.x Flask Admin在数据库中存储NULL,而不是空字符串(';';),python-3.x,flask-admin,Python 3.x,Flask Admin,标题说明了一切。使用flask admin并希望在我的数据库中存储一个空字符串,而不是NULL,但是当我在flask admin中保留一个字段为空时,它会在数据库中输入NULL。如果我在flask admin视图中键入“”,数据库将其存储为数据库中的““”” 我不是像许多其他人所问的那样,询问如何在flask admin视图中显示空字符串。我问我应该在flask admin视图中键入什么,或者应该更改什么代码,以便从flask admin视图在数据库中存储空字符串 我之所以需要这样做,是因为我的
使用python3.6来覆盖此行为,您可以创建一个新的字段类:
import wtforms.fields
class StringField(wtforms.fields.StringField):
def process_data(self, value):
self.data = value or ''
处理数据
方法接收并存储表单数据。如果它接收到None
,它将把它存储为'
。要在视图中使用此逻辑,请将此类添加到form\u overrides
属性中:
class MyView(ModelView):
form_overrides = {
'my_field': StringField,
}