我試圖創建一個報告內容類型,它包含時間間隔內自定義容器對象內容的時間點快照。我最終會在列表中存儲附加的時間變量數據,以便在視圖中及時生成列表並不會有效。創建內容時,我應該能夠使用適配器來計算字段的內容嗎?
我有,包括到引用列表保持到容器內容的時間間隔和現場報告的內容類型:
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