跳至内容
菜单
此问题已终结
2 回复
1837 查看

​I am working on an app where I need to set a default pricelist, based on whether the res.partner (Contact) is an individual or a company. This needs to be a field in the settings tab, so that the user can select which pricelist to use for company and which one for individuals. I managed to get this field to show up with this model:
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'

​ default_pricelist_company = fields.Many2one(
        ​'product.pricelist',
        ​string="Default Pricelist for Companies",
        ​default_model='res.partner',
        ​config_parameter='my_addon.default_pricelist_company'
​) 
default_pricelist_individual = fields.Many2one(
        ​'product.pricelist',
        string="Default Pricelist for Individuals",
        ​default_model='res.partner',
        config_parameter='my_addon.default_pricelist_individual' 
​)

However, this causes an error on save, that the field res.partner.pricelist_company does not exist.
I am relatively new to odoo so I am not sure exactly what i am doing wrong or how to properly set up these settings. Any help, or explanation of what i am doing wrong is highly appreciated, thanks!

形象
丢弃
编写者

I tried removing the default_model, but then I ran into this error:

File "/home/linuxsub/odoo/odoo/odoo/addons/base/models/res_config.py", line 427, in _get_classified_fields
raise Exception("Field %s without attribute 'default_model'" % field)
Exception: Field res.config.settings.default_pricelist_company without attribute 'default_model'

最佳答案

Hi,

The default_model argument is unnecessary here, as the settings are stored in the system parameter, not directly on the res.partner model. so default_model should be removed

Hope this will help you

thanks


形象
丢弃
编写者 最佳答案

The problem I was encountering was because my variables started with "default_", changing them resolved the issue in my case.

形象
丢弃
相关帖文 回复 查看 活动
4
5月 25
2414
2
5月 25
5749
1
3月 25
1602
4
3月 25
4391
3
2月 25
5374