我有一個行爲,定義了兩個字段:year
和week
(年)。從內容類型不變檢查的靈巧行爲訪問字段
此行爲被重用於多種內容類型,並且只有其中一個我需要確保此字段不會在任何其他相同內容類型的實例中重複,即此內容類型的兩個對象不能共享相同的year
和week
(可以在同一周分享或同一周的罰款)。
由於此限制僅適用於此特定內容類型,我嘗試使用zope.interface.invariant
,但出於某種原因,我無法訪問行爲中定義的字段。
內容類型的簡化版本是:
class IMyContentType(form.Schema)
title = schema.TextLine(title="My title",
description="My description",
required=True,
)
@invariant
def check_year_and_week(data):
data.week
如何,我可以得到的值(如果有的話)從check_year_and_week
不變之內?
你能提供一個例子嗎?我應該在哪裏做這種適應?該行爲被添加到其fti(.xml文件)上的內容類型,這是一個問題嗎? – gforcada
一個有趣的問題。不變量的「數據」變量不會有任何適應。 – SteveM
現在你有一個專家的真實答案:-) – hvelarde