Button 向Odoo 11中的按钮添加功能

Button 向Odoo 11中的按钮添加功能,button,odoo,Button,Odoo,我想做一个按钮,删除游戏中当前的玩家。 这是我在models.py上的课 class pista(models.Model): _name = 'bowling_module.pista' id_pista = fields.Integer(string="Número pista", required = True) estado = fields.Selection([('0','Desuso'),('1','Jugando'),('2','Mantenimiento')],st

我想做一个按钮,删除游戏中当前的玩家。 这是我在models.py上的课

class pista(models.Model):

 _name = 'bowling_module.pista'
 id_pista =  fields.Integer(string="Número pista",  required = True)
 estado = fields.Selection([('0','Desuso'),('1','Jugando'),('2','Mantenimiento')],string = "Estado de la pista")
 descripcion = fields.Text(string = "Notas de la pista")
 jugador = fields.One2many('bowling_module.jugador', 'pista', required = True)
 _sql_constraints = [
     ('PK_NM', 'unique (id_pista)','Ese id ya existe')]


class jugador(models.Model):
_name = 'bowling_module.jugador'
pista = fields.Many2one('bowling_module.pista', 'id_pista', required = True)
nombre = fields.Char(string = "Nombre de cliente", required = True)
pie = fields.Integer(string = "Numero de jugador", required = True)
views.xml文件

  <record model="ir.ui.view" id="bowling_module.pista">
  <field name="name">Listado de pistas</field>
  <field name="model">bowling_module.pista</field>
  <field name="arch" type="xml">
    <tree>
      <field name="id_pista"/>
      <field name="estado"/>
      <field name="descripcion"/>
      <field name="jugador"/>
      <button name="Eliminar" string="Eliminar" class="oe_highlight"/>
    </tree>
  </field>
</record>

双鱼座酒店
保龄球模块
我可以添加按钮并查看它。但是如何添加功能?我想删除当前的玩家


谢谢。

您必须添加这样的方法

def Eliminate(self):

   for record in self:
       for line in record.jugador:
            line.unlink()

首先,必须用XML创建一个视图,如下所示:

    <record model="ir.ui.view" id="bowling_module.pista">
      <field name="name">Listado de pistas</field>
      <field name="model">bowling_module.pista</field>
      <field name="arch" type="xml">
      <tree>
         <field name="id_pista"/>
         <field name="estado"/>
         <field name="descripcion"/>
         <field name="jugador"/>
        <button name="Eliminate" string="Eliminar" type="object" class="oe_highlight"/>
     </tree>
 </field>
 </record>
    def Eliminate(self):
       for record in self:
           for line in record.jugador:
                line.unlink()
当您当时单击此按钮时,将执行此方法并取消记录的链接

希望这能奏效。
谢谢。

在哪里?在Pista类中?在Pista类中是,这还不够,因为按钮声明为
操作
(视图中的默认类型)。要使用上述方法,必须将其重新定义为
type=“object”
。此外,还需要使用
jugador
,因为这没有任何意义。