peewee DoubleField的默认值不会反映在MySQL db中

时间:2017-05-08 10:36:14

标签: python mysql flask flask-peewee

使用案例:想要将0.0存储为默认值,而pewee的{​​{1}}没有传递任何值。我写了下面的代码,但对我没用。

DoubleField

这是一个api

class MyRelation(peewee.Model):
    id = peewee.PrimaryKeyField()
    percentage = peewee.DoubleField(default=0.0)

记录以下错误

@api_blueprint.route('/add_data', methods=['POST'])
@http_header
def add_data():
    try:
        incoming = json.loads(request.data)
        data = MyRelation(percentage=incoming["percentage"])
        data.save()

        return success_response(201,"Data has been inserted :)")

    except Exception as e:
        log(str(e))
        return raise_error(500, str(e))

1 个答案:

答案 0 :(得分:1)

差异仅在Python方面强制执行 - 因此,如果您希望服务器强制执行默认值,则需要使用约束:

percentage = peewee.DoubleField(constraints=[SQL('DEFAULT 0.0')])

文档:http://docs.peewee-orm.com/en/latest/peewee/models.html#default-field-values