首页 > 解决方案 > Pony ORM - 实体属性在实例创建时是可选的,但在数据库保存时是必需的

问题描述

在 Pony ORM 实体属性中声明为Required()必须在创建实例时提供。如果我将它声明为Optional()数据库字段在某些情况下变为可为空(整数),这在其他应用程序访问数据库的情况下是次优的。查看代码,我看到如果属性是autovolatile两个选项似乎都不是好的选择,则跳过验证 -auto被描述为仅允许自动递增主键并volatile丢弃值集并延迟重新获取它(并做出与乐观事务控制相关的其他假设)。

Pony 中是否有任何方法可以NOT NULL在数据库中设置字段,但在创建实体实例时是可选的,一种延迟检查?

标签: ponyorm

解决方案


在您的实体属性中,您需要放置一个参数“nullable=True”,这使得该字段接受非空值。例子:

    x = Optional(str, nullable=True)

希望能帮助到你


推荐阅读