如何在T中获取票证字段

2024-05-16 19:29:59 发布

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

如何在Trac中通过Python获得ticket字段的列表(如里程碑、版本和所有自定义字段)?在

在Trac文档中,我找到了TicketSystem类,但它是一个组件,我无法实例化它。那么,如果需要一个实例,如何访问它的方法呢?在

编辑:我发现了如何访问默认字段。E、 对于里程碑,它是model.Milestone.select(self.env)。现在的问题是,如何访问自定义票据字段?由于TicketSystem类中的方法get_custom_fields()存在,因此必须有一种方法可以不必手动访问数据库。在

编辑2:我刚刚发现get_custom_fields()只返回可用字段,而不返回它们的值。我要做的是获取特定自定义字段的所有可用值。在


Tags: 实例方法文档版本编辑fields列表get
1条回答
网友
1楼 · 发布于 2024-05-16 19:29:59

In the Trac documentation I have found the TicketSystem class, but it is a component and I cannot instantiate it.

您可以使用语句ts = TicketSystem(self.env)获得对组件的引用,该组件是一个单例。在

I just found out that get_custom_fields() only returns the available fields, but not their values. What I want to do is get all available values of a specific custom field.

这是不正确的。您可以使用以下语句获取票证自定义字段的可能值:

fields = TicketSystem(self.env).get_custom_fields()
options = fields[idx].get('options', [])

其中idx是列表中要检索其选项的字段的索引。仅当field['type']select或{}时,该列表才是非空的。见trac.ticket.api.TicketSystem.customfields。在

I found out how I can access the default fields. E.g. for milestones, it is model.Milestone.select(self.env).

您应该使用TicketSystem(self.env).get_ticket_fields()访问所有字段。该语句将返回所有字段,包括自定义字段。在

相关问题 更多 >