Python OpenERP是否在受影响时将False值转换为NULL值为整数?

Python OpenERP是否在受影响时将False值转换为NULL值为整数?,python,orm,openerp,odoo,Python,Orm,Openerp,Odoo,在OpenERP中,当您在python中定义一个新的char字段并将False设置为默认值时,该字段将在数据库中设置为NULL,由ORM负责转换。ORM是否也以相同的方式转换整数类型,或者我是否应该小心,它可能会将其转换为0而不是NULL 在哪里可以找到OSV(OpenERP ORM)的动态值转换规则?是,在发出ORM.search查询时,传入Python False以表示数据库空值。ORM没有“is”运算符,因此必须查询('column','=',False)。类似地,当“.browse”返回

OpenERP
中,当您在python中定义一个新的char字段并将
False
设置为默认值时,该字段将在数据库中设置为
NULL
,由
ORM
负责转换。
ORM
是否也以相同的方式转换整数类型,或者我是否应该小心,它可能会将其转换为0而不是
NULL


在哪里可以找到
OSV
OpenERP ORM
)的动态值转换规则?

是,在发出ORM.search查询时,传入Python False以表示数据库空值。ORM没有“is”运算符,因此必须查询('column','=',False)。类似地,当“.browse”返回行时,数据库null将转换为Python False

我认为这是因为xmlrpc(用于将这些查询发送到OpenERP服务器)在其“开箱即用”配置中没有任何方式表示None/null值。Xmlrpc可以配置为允许空值,但OpenERP不使用此选项

这引起的一个明显问题是,对于可为null的布尔字段,如果False是有效值,会发生什么情况?基于个人实验:当使用可为null的布尔字段创建行时,如果传递Python False,那么数据库最终将包含False,而不是其他数据类型的null。我不认为有任何方法可以将这些字段设置为null:传递Python None、将默认值设置为None以及根本不传递此列都不起作用

这在哪里有记录?我找不到它


这太疯狂了。欢迎来到奥多

是,在发出ORM.search查询时,传入Python False以表示数据库空值。ORM没有“is”运算符,因此必须查询('column','=',False)。类似地,当“.browse”返回行时,数据库null将转换为Python False

我认为这是因为xmlrpc(用于将这些查询发送到OpenERP服务器)在其“开箱即用”配置中没有任何方式表示None/null值。Xmlrpc可以配置为允许空值,但OpenERP不使用此选项

这引起的一个明显问题是,对于可为null的布尔字段,如果False是有效值,会发生什么情况?基于个人实验:当使用可为null的布尔字段创建行时,如果传递Python False,那么数据库最终将包含False,而不是其他数据类型的null。我不认为有任何方法可以将这些字段设置为null:传递Python None、将默认值设置为None以及根本不传递此列都不起作用

这在哪里有记录?我找不到它


这太疯狂了。欢迎来到奥多

我觉得我们应该做一件t恤衫,上面写着“太疯狂了,欢迎来到奥多!”)您可以使用('column','=',None),它看起来像是列为空。我觉得我们应该制作t恤衫,上面写着“太疯狂了,欢迎来到奥多!”)您可以使用('column','=',None),它看起来像列为NULL。