自动疏散

时间:2019-06-07 12:10:51

标签: postgresql odoo-11

我已经在Odoo 11中自定义了crm模块。

我添加了一些产品线来计算计划的收入,而不必创建报价。

我的问题是一段时间后-大约1天。数据将从Odoo的字段中清除。

我使用store=True正确设置了字段(我认为!)

另一个可疑的问题是针对Postgresql数据库清除数据的autovacumn计划的操作。

我该如何确保数据保留,如果vacumming可用,阻止垃圾收集吗?

crm_lead.py

x_order_line = fields.One2many(
    "crm.lead.calc.revenue.line",
    "x_order_id",
    string="Product Lines",
    copy=False,
    auto_join=True,
    store=True,
)

x_product_id = fields.Many2one(
    "product.product",
    related="x_order_line.x_product_id",
    string="Product",
    copy=True,
)

calc_revenue_line.py

class CalcRevenue(models.TransientModel):
    """
    This wizard will Calculate the Planned Revenue of the current record in CRM.lead
    """

    _name = "crm.lead.calc.revenue.line"
    _description = "Line Model for Calculating products"

    x_product_id = fields.Many2one(
        "product.product",
        string="Product",
        domain=[("categ_id", "in", ["Accessories", "Final products", "Subscriptions"])],
        change_default=True,
        ondelete="restrict",
        required=True,
        store=True,
    )

    x_product_uom_qty = fields.Float(
        string="Quantity",
        digits=dp.get_precision("Product Unit of Measure"),
        required=True,
        default=1.0,
        store=True,
    )

    x_order_id = fields.Many2one(
        "crm.lead",
        string="Product Lines",
        required=True,
        ondelete="cascade",
        index=True,
        copy=False,
        store=True,
    )

    x_price_unit = fields.Float(
        "Unit Price", digits=dp.get_precision("Product Price"), default=1.0, store=True
    )

1 个答案:

答案 0 :(得分:0)

我通过更改

解决了这个问题

class CalcRevenue(models.TransientModel):

收件人:

class CalcRevenue(models.Model):

我相信TransientModel是造成不保存数据的原因。