KeyError:'url_ids'从v8到v10社区的Odoo模块检测

2024-09-18 16:37:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我上这个班:

class WizardUrlSeniat(models.TransientModel):

_name = "wizard.seniat.url"

url1 = fields.Char(
    string='URL1', size=255, required=True, readonly=False,
    default=lambda s: s._get_url1(),
    help='In this field enter the URL from Seniat for search the'
    ' fiscal information from partner')
url2 = fields.Char(
    string='URL2', size=255, required=True, readonly=False,
    default=lambda s: s._get_url2(),
    help='In this field enter the URL from Seniat for search the'
    ' retention rate from partner (RIF)')
url3 = fields.Char(
    string='URL3', size=255, required=True, readonly=False,
    default=lambda s: s._get_url3(),
    help='In this field enter the URL from Seniat for search the'
    ' retention rate from partner (CI or Passport)')

@api.multi
def _get_url(self): 
    """ Get seniat web page
    """
    url = self.env['seniat.url']
    url_ids = url.search([]) 
    if len(url_ids) > 1:
        url.unlink.self.env.url_ids[1:] 
    url_obj = self.env['url_ids'].browse() 
    return url_obj 

@api.multi
def _get_url1(self): 
    url_obj = self._get_url() 


@api.multi
def _get_url2(self): 
    url_obj = self._get_url() 
    return url_obj.url_seniat

@api.multi
def _get_url3(self): 
    url_obj = self._get_url() 
    return url_obj.url_seniat2

当我从菜单项中单击url3时,它会弹出以下消息:

^{pr2}$

错误正好在default=lambda s: s._get_url3(),fromurl3字段上。 在url_obj = self._get_url()上,来自_get_url3(),和{}来自第一个方法_get_url。在

这是一个从v8到v10的模块,它几乎完成了,但是有些东西我在这里没有看到。在

有什么想法吗?在


Tags: thelambdafromselfapiobjidsdefault
2条回答

在您的代码行中:

    url_obj = self.env['url_ids'].browse() 

什么是url_id,如果是某个型号名称,它不应该像网址.ids记住自我.env以型号名称为键。在

如果您试图浏览通过搜索从此处检索到的url_id

^{pr2}$

那么你应该:

browse_records = self.env['seniat.url'].browse(url_ids)

它将返回那些url_id的浏览记录

请检查模块中是否正确定义了对象“url_ids”。当你试图浏览那个对象时,它的抛出错误。在

希望这有帮助。在

相关问题 更多 >