Python 通过odoo 14中的对象循环

Python 通过odoo 14中的对象循环,python,odoo,Python,Odoo,我是奥多开发的新手。我想在我的模型“hotel.room”上创建一个函数,以显示创建的房间数量,类型为“宿舍”。但是,我不知道如何做。如果你知道我怎么做,请帮助我。当我创建一个新房间并选择“寝室”类型时,它应该显示已经创建为“寝室”类型的房间数量。计数应在表单视图中可见 我的模型: class HotelRoom(models.Model): _name = 'hotel.room' _description = 'hotel room' _rec_name = 'room_number' r

我是奥多开发的新手。我想在我的模型“hotel.room”上创建一个函数,以显示创建的房间数量,类型为“宿舍”。但是,我不知道如何做。如果你知道我怎么做,请帮助我。当我创建一个新房间并选择“寝室”类型时,它应该显示已经创建为“寝室”类型的房间数量。计数应在表单视图中可见

我的模型:

class HotelRoom(models.Model):
_name = 'hotel.room'
_description = 'hotel room'
_rec_name = 'room_number'

room_number = fields.Integer('Room Number', required=True)
currency_id = fields.Many2one('res.currency', string='Currency')
room_rent = fields.Monetary('Room Rent')
tag = fields.Many2many('hotel.tags', string='Facilities')

bed_type = fields.Selection([
    ('single', 'Single'),
    ('double', 'Double'),
    ('dormitory', 'Dormitory')
], required=True, default='other')
表单视图:我需要在这里显示计数

<record id="room_create_form" model="ir.ui.view">
<field name="name">hotel.room.form</field>
<field name="model">hotel.room</field>
<field name="arch" type="xml">
  <form>
     <sheet>
        <group>
           <group>
              <field name="room_number"/>
              <field name="currency_id"/>
              <field name="room_rent"/>
           </group>
           <group>
              <field name="bed_type"/>
              <field name="tag" widget="many2many_tags"/>
           </group>
        </group>
     </sheet>
  </form>
   </field>
</record>

酒店
客房酒店

您可以创建一个方法,在更改字段时调用

床型

@api.onchange('bed_type')
def count_dormitory(self)
    total_bed = self.env['hotel.room'].search_count([('bed_type', '=', 'dormitory')])

    return total_bed
但这里有一个问题,您想在其他字段中显示您的总计数,如果是,则创建另一个字段,并为该字段指定如下值

@api.onchange('bed_type')
def count_dormitory(self)
    total_bed = self.env['hotel.room'].search_count([('bed_type', '=', 'dormitory')])

    self.another_field =  total_bed