2011-08-22 48 views
1

我有一個教授和一個Department類。他們雙向m:n。我正在使用ArgoUML和ArchGenXML來生成這些類 - 我怎樣才能使這種關係成爲可導航的,這樣我就不僅可以獲得教授的部門,還可以獲得一個部門的教授的觀點?我這樣做的方式似乎生成類,以便我可以從教授導航到Department,但在Department模式中,不會創建此類鏈接...Plone網站中的Plone ArchGenXML雙向引用

謝謝!

schema = Schema((#professor 

StringField(
    name='name', 
    widget=StringField._properties['widget'](
     label='Name', 
     label_msgid='ufscar_label_name', 
     i18n_domain='ufscar', 
    ), 
), 
ReferenceField(
    name='departments', 
    widget=ReferenceBrowserWidget(
     label='Departments', 
     label_msgid='ufscar_label_departments', 
     i18n_domain='ufscar', 
    ), 
    allowed_types=('Department',), 
    multiValued=1, 
    relationship='DepartmentMembership', 
), 
) 

schema = Schema((#department 

StringField(
    name='name', 
    widget=StringField._properties['widget'](
     label='Name', 
     label_msgid='ufscar_label_name', 
     i18n_domain='ufscar', 
    ), 
), 
) 

-------------附錄-----------------

很抱歉,不能在評論中格式化,所以我會在這裏問:

的Products.ATBackRef 2.1頁說

    您的UML工具中的
  • 創建2個類之間的關係,並使 '到'結束於我關聯導航(例如,在 樣本目錄中提供了這樣的野獸)。

我這個猜測默認情況下,兩端navigateable

  • 標記值backreferences_support添加到您的模型,並設置 它1.

的模特是班級?或者爲此創建一個屬性?還是關係?我很困惑...通過將其設置爲一個,它將如何知道哪個後端引用導航?可能有多個...

回答

1

您想使用BackReferenceField。參考文獻是定向的,也就是說一個物體指向另一個物體,而另一個方向則不一樣。但是,引用引擎可以使用反向引用進行反向查找。 BackReferenceField可以讓你使用它。

+0

對不起,無法在這裏編輯 - >請在原帖中看到我的編輯!謝謝! – Jan