开发者社区> 问答> 正文

模型odoo11中列条目的总和

class RecipeInformation(models.Model):

_name = 'model.recipe.information'
_description = 'recipe and ingredient information'

recipe_id = fields.Many2one('model.recipe', string='Recipe', required=True)
ingredient_id = fields.Many2one('model.ingredient', string='Ingredient', required=True)

quantity = fields.Integer('Quantity', required=True, default=1)
price = fields.Float('Price', required=True)
unit_of_measure = fields.Selection([('milligrams', 'Milligrams'), ('grams', 'Grams'),('kilograms', 'Kilograms')],
                               'Unit of Measure', default='grams',
                               required=True)

price_per_UoM = fields.Float('Price/UoM', compute='_calculate_price', store=True)

Cost = fields.Float('Total Cost')

@api.depends('price', 'quantity')
def _calculate_price(self):
    for record in self:
        record.price_per_UoM = record.price / record.quantity
        return record.price_per_UoM

@api.depends('ingredient_quantity', 'price_per_UoM')
def _calculate_cost(self):
    for record in self:
        record.Cost += record.ingredient * record.price_per_UoM
        return record.Cost

和xml树和表单视图如下

    <field name="name">recipe.cost.form.view</field>
    <field name="model">model.recipe.information</field>
    <field name="arch"  type="xml">
        <form string="Recipe Cost form view">
            <sheet>
                <group>
                    <field name="recipe_id"/>
                    <field name="ingredient_id"/>
                    <field name="quantity"/>
                    <field name="price"/>
                    <field name="unit_of_measure"/>
                    <field name="price_per_UoM"/>
                </group>
            </sheet>
        </form>
     </field>
</record>
<record id="view_tree_recipe_cost" model="ir.ui.view">
    <field name="name">recipe.cost.tree.view</field>
    <field name="model">model.recipe.information</field>
    <field name="arch"  type="xml">
        <tree>
            <field name="recipe_id"/>
            <field name="ingredient_id"/>
            <field name="quantity"/>
            <field name="price"/>
            <field name="unit_of_measure"/>
            <field name="price_per_UoM"/>
        </tree>
     </field>
</record>

我要做的是获取price_perUoM模型中具有相同配方名称的每个行条目的所有总和,或者recipe_id在另一个拆分视图中查看它们。

这样我就可以有一个显示所有字段的树视图,另一个只显示该特定配方的配方名称和总成本

展开
收起
一码平川MACHEL 2019-02-28 14:07:48 1759 0
1 条回答
写回答
取消 提交回答
  • 有一个属性名称sum =“Total”,您可以在xml树视图中应用该属性名称,该视图显示特定列的所有记录的总和

    2019-07-17 23:29:43
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
图计算优化技术探索 立即下载
4个迭代,从批量交...1573957773.pdf 立即下载
《开放搜索查询分析服务架构分享》 立即下载