ponyorm - Pony ORM - 实体属性在实例创建时是可选的,但在数据库保存时是必需的
问题描述
在 Pony ORM 实体属性中声明为Required()
必须在创建实例时提供。如果我将它声明为Optional()
数据库字段在某些情况下变为可为空(整数),这在其他应用程序访问数据库的情况下是次优的。查看代码,我看到如果属性是auto
或volatile
两个选项似乎都不是好的选择,则跳过验证 -auto
被描述为仅允许自动递增主键并volatile
丢弃值集并延迟重新获取它(并做出与乐观事务控制相关的其他假设)。
Pony 中是否有任何方法可以NOT NULL
在数据库中设置字段,但在创建实体实例时是可选的,一种延迟检查?
解决方案
在您的实体属性中,您需要放置一个参数“nullable=True”,这使得该字段接受非空值。例子:
x = Optional(str, nullable=True)
希望能帮助到你
推荐阅读
- javascript - 检查字符串中的特定子字符串模式并获取其所有匹配项
- c - Do/While 无法识别字符以在 C 中结束循环
- java - 如何在带有 androidx 的 Android Studio 4.0 上使用片段之间的导航
- c# - 根据进程树更改 datagridview 中的颜色
- c# - C# WPF Ping 异常
- java - 无法将数据发布到服务器,也无法从服务器获得任何响应
- sql - 使用 postgresql 随机排序时的确定性顺序
- python - if语句中的Python“and”被识别为“or”
- html - 在 HTML 中显示来自 FETCH 的 JSON 数据
- php - 为什么我的 sql 文件是空的,使用 cron 作业进行 sql 备份?