Plone ArchGenXML双向引用

时间:2011-08-22 19:38:09

标签: plone argouml

在Plone网站上,我有一个教授和一个系的课程。它们是双向的m:n。我正在使用ArgoUML和ArchGenXML生成这些类 - 如何使这种关系可以导航,这样我不仅可以获得教授的部门,还可以获得部门教授的观点?我这样做的方式似乎生成了类,所以我可以从教授导航到Department,但是在Department模式中,没有创建这样的链接......

谢谢!

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个类之间的关系并制作   'to'结​​束可导航的关联(这样的野兽是在   样本dir)。
  •   

我猜这是默认值,两端都是可导航的

  
      
  • 将标记值backreferences_support添加到模型并进行设置   它到1。
  •   

模特是班级?或者为它创建一个属性?还是关系?我很困惑......通过将其设置为1,它将如何知道导航的后向引用?可能不止一个......

1 个答案:

答案 0 :(得分:1)

您想使用BackReferenceField。引用是方向性的,也就是说一个对象指向另一个对象而另一个方向则不一样。但是,引用引擎可以使用反向引用进行反向查找。 BackReferenceField允许您使用它。