Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想将res.partner address中的实际城市字段更改为manyOne字段,而不添加新字段_Python_Xml_Odoo_Odoo 8 - Fatal编程技术网

Python 我想将res.partner address中的实际城市字段更改为manyOne字段,而不添加新字段

Python 我想将res.partner address中的实际城市字段更改为manyOne字段,而不添加新字段,python,xml,odoo,odoo-8,Python,Xml,Odoo,Odoo 8,我的代码如下所示: # -*- encoding: utf-8 -*- from openerp import models,fields, api class ResPartner(models.Model): _name = 'res.partner' _inherit = 'res.partner' city_id = fields.Many2one('res.city','Ville',stored = True

我的代码如下所示:

# -*- encoding: utf-8 -*-

from openerp import models,fields, api

class ResPartner(models.Model):
    _name = 'res.partner'
    _inherit = 'res.partner'

    city_id = fields.Many2one('res.city','Ville',stored = True 
                               ,ondelete='restrict')

class ResCity(models.Model):
    _name = "res.city"
    _description = "Ville"

    name = fields.Char(u"Nom",required = True)
    state_id = fields.Many2one("res.country.state", 'Zone',ondelete='restrict')
因此,在我用xml添加视图之后,我的请求是,我需要更改实际字段,而不添加新字段
旧的:city=fields.char新的应该是:city=fields.manyOne

只需覆盖旧API中定义的旧API
city
字段:

从openerp导入模型、字段和api
从openerp.osv导入字段作为字段
班级负责人(models.Model):
_继承='res.partner'
_列={
“城市”:of ields.manyOne('res.city'、'Ville',ondelete='restrict'),
}

请记住,许多视图将不再有效,例如合作伙伴看板视图。

只需覆盖旧API中定义的旧API
city
字段:

从openerp导入模型、字段和api
从openerp.osv导入字段作为字段
班级负责人(models.Model):
_继承='res.partner'
_列={
“城市”:of ields.manyOne('res.city'、'Ville',ondelete='restrict'),
}

请记住,许多视图将不再有效,例如合作伙伴看板视图。

您可以简单地覆盖定义,但它会破坏使用此字段的每个模型或视图,您可以将其设置为函数字段:

class ResPartner(models.Model):
_名称='res.partner'
_继承='res.partner'
city\u id=fields.manyOne('res.city','Ville'
,ondelete='restrict')
@api.dependens('city_id'))
@api.multi
def设置城市(自):
self.city=self.city\u id.name
city=fields.Char(compute=set\u city,store=True)
在表单视图中,您应该使用添加
city\u id
和隐藏
city
,让其余的保持安静

编辑
您可以使用Odoo附带的新插件
res\u partner\u city

您可以简单地覆盖定义,但它会破坏使用此字段的每个模型或视图,您可以将其设置为函数字段:

class ResPartner(models.Model):
_名称='res.partner'
_继承='res.partner'
city\u id=fields.manyOne('res.city','Ville'
,ondelete='restrict')
@api.dependens('city_id'))
@api.multi
def设置城市(自):
self.city=self.city\u id.name
city=fields.Char(compute=set\u city,store=True)
在表单视图中,您应该使用添加
city\u id
和隐藏
city
,让其余的保持安静

编辑 您可以使用Odoo附带的新插件
res\u partner\u city