4

我正在开发一个网站,帮助私人教师管理他们的学生,其中一部分将跟踪老师欠了多少钱。

我希望我的应用程序是可重用的,并且不会相互依赖。因此,我创建了一个应用程序,其职责是学生、教师和父对象的 CRUD(这些模型都有一个外键用户,所以它们就像一个用户配置文件,但我没有使用内置用户档案系统)。还有一个家庭模型将学生对象与父对象相关联。我还创建了一个单独的应用程序,其职责是管理帐户、发票和行项目。

我的问题在于两者的融合。我在帐户应用程序中有一个基本模板,该模板由一个列出帐户对象及其余额的通用视图提供支持。我想要在该模板中做的是按家庭对帐户进行分组,并显示属于给定家庭的所有帐户的总数。

如何在防止应用程序相互依赖的同时做到这一点?

4

1 回答 1

0

这是我到目前为止似乎正在工作的内容:

class AccountGroup(models.Model):
    accounts = models.ManyToManyField(Account)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')

记录在这里。通过这种方式,帐户可以按照它们在外部应用程序中的任何共同点进行分组。在我的例子中,当我创建一个帐户组时,我将 content_type 设置为 family,并将 object_id 设置为它应该分组的特定家庭实例。该视图是一个简单的包装通用视图。

于 2010-05-21T21:40:02.797 回答