首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从tryton的many2one字段中检索选定的值

如何从tryton的many2one字段中检索选定的值
EN

Stack Overflow用户
提问于 2014-08-05 12:38:40
回答 1查看 672关注 0票数 0

我必须创建一个名为many2one或选择字段的分类和其他字段称为梯级。对于一个类别,我们将许多梯队联系起来。这就像选择国家的例子,对于这个国家,我们用相关的分支填充另一个字段。我的代码:

代码语言:javascript
复制
categoryy=fields.Many2One("grh.category","Category")
ech = fields.Many2One("grh.echelon",'echelon', depends=[ 'categoryy'])

@fields.depends('ech', 'categoryy')
def on_change_categoryy(self):
    if (self.ech
            and self.ech.echeloncategory != self.categoryy):
        return {'ech': None}
    return {}

代码语言:javascript
复制
from trytond.model import ModelView,ModelSQL,fields

__all__ = ['echelon']


class echelon(ModelView,ModelSQL):
    '''echelon'''
    __name__ = "grh.echelon"
    echeloncategory=fields.Many2One("grh.category","echelonofcategory")
    echelon=fields.Char("Echelon")

代码语言:javascript
复制
from trytond.model import ModelView,ModelSQL,fields
from trytond.pool import Pool

__all__ = ['category']


class category(ModelView,ModelSQL):
    '''category'''
    __name__ = "grh.category"
    category=fields.Char("category")
    echelons=fields.One2Many("grh.echelon","echeloncategory","Category echelons")

我不知道为什么“技术”场展示了所有的梯队

请帮帮我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-05 17:08:27

应该使用域子句来限制ech字段上的可用选项。您可以在以下网站上找到域的完整引用:

http://doc.tryton.org/3.2/trytond/doc/topics/domain.html?highlight=domain

此外,您还必须使用PYSON来获取该类别的当前值,因此您最终将得到如下内容:

代码语言:javascript
复制
from trytond.pyson import Eval
ech = fields.Many2One("grh.echelon",'echelon', 
    domain=[
        ('category', '=', Eval('category', -1)),
    depends=['categoryy'])

您可以在以下网站找到关于PYSON的介绍:

http://doc.tryton.org/3.2/trytond/doc/topics/pyson.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25139045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档