如何使数据库字段在OpenERP7中具有默认值?

时间:2015-11-19 21:51:06

标签: openerp-7

假设我有这个模型:

class my_model(orm.Model):
    _name = 'my.model'
    _columns = {
        'my_field': fields.selection([('a', 'A'), ('b', 'B'), ('c', 'C')], string="My Field", required=True, ...)
    }

    _defaults = {
        'my_field': 'a'
    }

但是在创建表格时,该列没有默认值(这意味着:如果我执行insert into my_model(id) values (1),则不会在字段{{1}上填充值' a'但是,如果my_field在非空时具有空值,则会引发错误。)

如何通过sql手动添加设置 - 我的字段在SQL中有DEFAULT设置?

1 个答案:

答案 0 :(得分:1)

如果您使用 sql query 添加记录,则无法设置默认值。

但您可以通过执行 init 方法执行的另一个查询或单独操作来更改表结构。

查询:

ALTER TABLE my_model
   ALTER COLUMN my_field SET DEFAULT 'a';

现在你获得了my_field form sql命令的默认值

了解更多信息PostgreSQL Default Values