我试图创建一个报告内容类型,它包含时间间隔内自定义容器对象内容的时间点快照。我最终会在列表中存储附加的时间变量数据,以便在视图中及时生成列表并不会有效。创建内容时,我应该能够使用适配器来计算字段的内容吗?
我有,包括到引用列表保持到容器内容的时间间隔和现场报告的内容类型:
class IIssuesReport(form.Schema):
report_begin_date = schema.Date(
title=_(u"Report begin date"),
)
report_end_date = schema.Date(
title=_(u"Report end date"),
)
issues = RelationList(
title=_(u"Report Issues"),
description=_(u'Select Issues'),
default = [],
value_type=RelationChoice(
title=_(u'Issue'),
default=[],
source=ObjPathSourceBinder()
),
required=False,
)
我希望通过编程填充“问题”时的野外表格已提交。我相信我应该可以通过编写一个适配器来覆盖issues()属性设置器来生成数据并将其分配给列表。我创建了一个“填充”类工厂覆盖问题的属性设置:
class IPopulatedIssuesReport(interface.Interface):
"""A list of issues.
"""
class PopulateIssuesReport(object):
""" Generate the IssuesReport issues from existing inventory
"""
implements(IPopulatedIssuesReport)
adapts(IIssuesReport)
def __init__(self, context):
self.context = context
@property
def issues(self):
import pdb; pdb.set_trace()
登记的适配器工厂:
<adapter factory=".issuesReport.PopulateIssuesReport" />
我图案很多的这个其他职位后约适应INameFromTitle使用其他单独的字段,具体为DavidJB's post:
当我创建了我的IIssueReport内容时,我期望将其放入适配器中的调试器中,但它没有发生,就好像该适配器从未执行过一样。我错过了什么?这是使用我的网站中的现有数据填充此字段的正确方法吗?
IIssueReport接口是否需要成为此行为的行为?我不这么认为。 – dayne