【问题标题】:How Odoo store `res.config.settings`? It looks it saved but not presented in `res.config.settings` and `ir.config_parameter`Odoo 如何存储`res.config.settings`?它看起来已保存但未显示在 `res.config.settings` 和 `ir.config_parameter`
【发布时间】:2020-09-30 15:14:34
【问题描述】:

https://www.odoo.com/forum/help-1/question/12-0-enable-features-in-the-res-config-settings-149566

我在上面的页面中创建了Alexander提到的以下设置数据文件:

res_config_data.xml

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="my_config_settings" model="res.config.settings">
        <field name="company_id" ref="base.main_company"/>
        <field name="group_multi_currency" eval="True"/>
        <field name="group_product_variant" eval="True"/>
        <field name="group_stock_multi_warehouses" eval="True"/>
        <field name="group_stock_multi_locations" eval="True"/>
        <!-- Delivery Packages -->
        <field name="group_stock_tracking_lot" eval="True" />
        <field name="module_stock_picking_batch" eval="True" />
        <!-- Display Lots & Serial Numbers: Lots & Serial numbers will appear on the delivery slip -->
        <field name="group_lot_on_delivery_slip" eval="True" />
        <!-- Multi-Step Routes: Use your own routes and putaway strategies -->
        <field name="group_stock_adv_location" eval="True" />
        <field name="po_order_approval" eval="True" />
        <!-- Quantities billed by vendors -->
        <field name="default_purchase_method">purchase</field>
        <field name="multi_sales_price" eval="True" />
        <!-- Multiple prices per product -->
        <field name="multi_sales_price_method">percentage</field>
        <field name="group_analytic_tags" eval="True" />
        <field name="group_analytic_accounting" eval="True" />
        <!-- Set specific billing and shipping addresses -->
        <field name="group_sale_delivery_address" eval="True" />
        <!-- Consignment -->
        <field name="group_stock_tracking_owner" eval="True" />
        <!-- Prepayment -->
        <field name="prepayment_account_id" ref="my_chart_of_account.my_account_prepayments" />
        <!-- Multi-company-->
        <field name="group_multi_company" eval="False" />
    </record>
    <function model="res.config.settings" name="execute">
        <value model="res.config.settings"
               search="[('id', '=', ref('my_config_settings'))]"/>
    </function>
</odoo>

__manifest__.py

    'data': [
        'data/res_config_data.xml',
     ],

如果我只应用一次它就可以工作。但是当我尝试重新安装此设置模块时,它将无法正常工作。


它以某种方式无法识别受支持的字段。

2020-06-11 02:26:48,117 52288 WARNING odoo_dev odoo.models: res.config.settings.create() with unknown fields: company_id, default_purchase_method, group_analytic_accounting, group_analytic_tags, group_lot_on_delivery_slip, group_multi_company, group_multi_currency, group_product_variant, group_sale_delivery_address, group_stock_adv_location, group_stock_multi_locations, group_stock_multi_warehouses, group_stock_tracking_lot, group_stock_tracking_owner, module_stock_picking_batch, multi_sales_price, multi_sales_price_method, po_order_approval, prepayment_account_id 

Odoo 丢弃了这些无法识别的字段并将普通对象插入 DB

2020-06-11 02:26:48,118 52288 ERROR odoo_dev odoo.sql_db: bad query: b'INSERT INTO "res_config_settings" ("id", "create_uid", "create_date", "write_uid", "write_date") VALUES (nextval(\'res_config_settings_id_seq\'), 1, (now() at time zone \'UTC\'), 1, (now() at time zone \'UTC\')) RETURNING id'
ERROR: null value in column "company_id" violates not-null constraint
DETAIL:  Failing row contains (10, 1, 2020-06-11 02:26:47.302998, 1, 2020-06-11 02:26:47.302998, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null).
psycopg2.IntegrityError: null value in column "company_id" violates not-null constraint
DETAIL:  Failing row contains (10, 1, 2020-06-11 02:26:47.302998, 1, 2020-06-11 02:26:47.302998, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null).

当我使用全新的 Odoo 数据库安装此设置模块时,我进入常规设置页面,我可以看到设置已安装。但是当我检查res.config.settingsir.config_parameter 表时,我没有看到存储的任何设置记录。我想了解这个设置数据文件是如何进行并存储在哪里的。

【问题讨论】:

    标签: odoo transient


    【解决方案1】:

    好的,虽然我仍然不知道 Odoo 是如何保存设置的。我设法修复了更新设置错误。

    它声明res.config.settings.create() with unknown fields 的原因是因为我试图更新属于不同模块的设置。例如group_multi_companybase_setup 之下。但是在我的设置模块中,我没有将 base_setup 列为依赖项。

    为我尝试设置的那些设置放置所有模块后,我可以正确更新设置。是的,如果您不添加这些依赖项,它仍然可以安装,但仅限于第一次安装,但您以后将无法更新数据。所以总是列出所有相关的依赖模块。

    # -*- coding: utf-8 -*-
    {
        'name': "My Odoo Settings",
        'description': "My configuration for setup",
        'version': '12.0.2',
        'author': "Wow Ltd.",
        'website': "https://github.com/o.o/odoo-addons",
        'summary': "My configuration for setup",
        # Here, originally I have set with [] only. 
        # With these I can now update settings successfully
        'depends': ['base_setup', 'sale', 'account', 'purchase', 'stock', 'stock_account', 'sale_management'],
        'data': [
            'data/settings.xml',
        ],
        'installable': True,
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2020-10-23
      • 2023-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多