Odoo 10-带有操作的自定义按钮(发布JSON客户数据帮助!!)

Odoo 10-带有操作的自定义按钮(发布JSON客户数据帮助!!),odoo,odoo-10,Odoo,Odoo 10,Odoo 10-带有操作的自定义按钮(发布JSON客户数据帮助!!) 您好,我已经能够使用以下xml代码在account.invoice中创建一个按钮 account.invoice.form.shippinglabel 帐户、发票 现在我想在用户按下按钮后添加一个函数 所以在我的“models.py”中,我试着把这个代码 def标签(自身): 数据={'ids':[12,3,4,5,6]} req=urllib2。请求('https://requestb.in/1bz11jv1')

Odoo 10-带有操作的自定义按钮(发布JSON客户数据帮助!!)

您好,我已经能够使用以下xml代码在account.invoice中创建一个按钮


account.invoice.form.shippinglabel
帐户、发票
现在我想在用户按下按钮后添加一个函数

所以在我的“models.py”中,我试着把这个代码

def标签(自身):
数据={'ids':[12,3,4,5,6]}
req=urllib2。请求('https://requestb.in/1bz11jv1')    
请求添加标题('Content-Type','application/json')
response=urllib2.urlopen(req,json.dumps(数据))
基本上,我想把一些样本数据发送给

但是当我重新启动odoo时,它不工作。它在odoo.log中给我这个错误

文件“/odoo/odoo服务器/addons/labelprint/models/models.py”,第14行 def标签(自我): 缩进错误:意外缩进

我不太清楚它为什么会导致那个错误,我在谷歌上搜索了缩进,但它一点帮助都没有

另外,我还有一个问题,就是我是否已经可以发布json数据了

我如何获取customer.address、customer.phone、customer.name等信息,因为我在发送json数据时需要这些信息


非常感谢

这是因为您的缩进。Python使用缩进来分隔逻辑

下面是一个适当缩进的示例

# -*- coding: utf-8 -*-

from odoo import models, fields, api

class ModelName(models.Model):
    _name = 'addon_name.model_name'

    field1 = fields.Char()
    field2 = fields.Char()
    field3 = fields.Char()

    @api.multi
    def test(self):
        print("HELLO")
        return

我认为您的按钮的xml定义也有一些问题。您可能需要指定一个“type”属性并为其指定一个“object”值。

Hi,您的回复现在帮了我很大的忙,我正面临这样的情况:AttributeError:type object“account.invoice”没有属性“labeltest”,您能给我一些启发吗?在我的示例中,您重新启动了odoo服务器后,model
加载项名称的视图。model\u名称将有一个属性
测试
这是一个函数。确保要添加按钮的视图是指定给模型的视图。您可以在浏览器中查找,您会看到
model=
,它会告诉您视图对应的模型。此外,如果我帮助您回答了初始问题,请将我的答案标记为正确。向上投票也不会打扰我!谢谢