首页 > 解决方案 > Odoo python模块:根据月份创建多条记录

问题描述

我是 Odoo 和 psql 的新手,最近碰壁了。我想创建一个模块,在其中选择类型(例如,发出的发票)和日期,并根据在数据库中找到的内容创建记录。我的日期时间字段有问题(不确定如何使用存储/必需)。这是我到目前为止得到的:

models.py 中的模块:

class bmd_test(models.Model):
    """BMD Eingangsrechnungen Buchungen Model, New Approach"""
    _name = 'bmd.test'
    # _auto = False
    
    date_order = fields.Datetime(string="Date", invisible=True,
                                help="Select ending date.")
    beleg_typen = fields.Selection([('ER', 'Eingangsrechnungen Buchungen'), ('ERP', 'Eingangsrechnungen Personenkonten'), 
                                    ('AR', 'Ausgangsrechnungen Buchungen'), ('ARP', 'Ausgangsrechnungne Personenkonten'), 
                                    ('BK', 'Bankbuchungen mit Auszifferung'), 
                                    ('LG', 'Lohnbuchungen'),
                                    ('EB', 'Eröffnungsbilanzbuchungen'),
                                    ('UB', 'Umbuchungen'), 
                                    ('EA', 'Spesenabrechnung')], string='Belegtyp')
    chosen_beleg = fields.Char(string='buchsymbol', compute="_get_beleg", store=True)

    cost_center = fields.Char(string='cost center')
    
    @api.depends('beleg_typen')
    def _get_beleg(self):
        for record in self:
            record.chosen_beleg = str(record.beleg_typen)
        # TODO: this is the problem part (creates more than 3 entries). Do i need @api.model?
        # for i in range(3):  
        #     self.env['bmd.auto'].create({'cost_center': str(i)})

我也想在views.xml中向我的树视图添加一个按钮,但我也不确定我的XML代码:

    <record id="bmd.list_test" model="ir.ui.view">
      <field name="name">BMD list test</field>
      <field name="model">bmd.test</field>
      <field name="arch" type="xml">
        <!-- I tried adding a form here, put the tree inside a form, headers/footers with buttons,  but none worked.-->
        <tree>
          <field name="chosen_beleg"/>
          <field name="cost_center"/>
        </tree>
      </field>
    </record>

    <record id="bmd.action_window_test" model="ir.actions.act_window">
      <field name="name">TriLite BMD module: Test View</field>
      <field name="res_model">bmd.test</field>
        <!-- Here i tried view_mode form, but then i lose the view of the records..-->
      <field name="view_mode">tree,form</field>
    </record>

    <menuitem name="BMD TEST" id="bmd.menu_test" parent="bmd.menu_root" action="bmd.action_window_test"/>

标签: pythonpostgresqltreeodooodoo-13

解决方案


推荐阅读