1

在克隆站点中,我有一个教授和一个系类。它们是双向的 m:n。我正在使用 ArgoUML 和 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 个类之间的关系并使 i 的“到”端成为可导航的关联(示例目录中提供了这样的野兽)。

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

  • 将标记值 backreferences_support 添加到您的模型并将其设置为 1。

模型是类?或者为此创建一个属性?还是关系?我很困惑...通过将其设置为一个,它如何知道要导航哪个反向引用?可能不止一个...

4

1 回答 1

1

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

于 2011-08-22T20:04:12.307 回答