3

我正在开发一个 Google App Engine 应用程序,我在这方面相对较新。

我已经在 Django 中构建了一个应用程序,并且有一个使用 ManyToMany 字段类型的模型。

我知道 django-nonrel 不支持 Django 的多对多字段类型。所以我正在考虑改用 ListField 。

问题:
- 使用 ListField 代替 ManyToMany 有何含义?
- 我知道这意味着无法使用 Django 的 JOIN API。但这对我的应用意味着什么?- 在多对多领域中进行搜索时,我会遇到问题吗?

抱歉,如果这些是编程 101 问题。我是一名试图了解开发的设计师。

谢谢

4

1 回答 1

1

您可能知道,您将更加手动地跨越关系。Django 的帮助不如使用 ManyToMany 时那么大,但它应该不是那么大的问题。

根据关系的复杂性,您可能需要考虑为此目的构建模型。

我从未在 GAE 上使用过这种方法,因为 IMO 仅在对象具有很多关系(我会说超过 50 个)或您计划进行的查找时才有效,这将受益于此。也许是因为它们以相同的频率从关系的任一端开始,或者能够循环显示它们或沿着这些线显示它们会很好。

上次我在 GAE 上做一些事情时,我使用了 ListField(或当时已知的 ListProperty),因为大多数对象只有大约 20 个相关对象,并且查找很少会以其他方式进行。

所以总而言之,这没什么大不了的,我不记得它是一种痛苦的工作/周围。

希望这很有帮助,尽管它相当“IMO”

于 2010-10-06T23:34:57.810 回答