在同一个项目中的两个应用程序之间共享Django用户模型

时间:2017-04-16 15:28:03

标签: django web-applications django-models

我看到一些类似的问题,但它们看起来并不相同或有答案。

我正在练习Django并试图制作一个简单的荷兰式拍卖项目。最初我认为这个想法是创建两个不同的应用程序,一个买家应用程序和一个卖家应用程序,并让他们共享数据库(或三个应用程序,一个commonApp一个buyerApp和一个卖家应用程序)。但是,我越深入了解它似乎越复杂 - 我觉得Django并不是真的意味着有不同的应用程序围绕从一组表共享所有数据而设计(也许我错了?),松散地基于我发现的必须修改迁移工作以适应这种情况的方式。

所以想法#2,只需制作一个通过仔细管理视图来分离功能的应用程序,但只保留一组模型,因为几乎所有我能想到的数据(用户,产品等)。 )无论如何都是共享的。这看起来好像让Django完成所有的数据管理,而不必为数据库设计而烦恼。但是,我担心管理视图可能会过于复杂。

也许有一个想法#3对这类项目有意义,我没有考虑过,因为我是一个新手,也许有人告诉我Django甚至不是这项工作的合适工具。 ..

我尝试了编程理念#1,它很快变成了意大利面,只有当事情非常小时才能工作。我目前正在研究#2的想法,到目前为止,我认为它没问题,但我在概念化如何在视图中分离内容时遇到了困难,但这很可能只是因为我缺乏经验。

所以我的问题是:我缺少这种信息的明显资源吗?如果是的话,你能指点我吗?

1 个答案:

答案 0 :(得分:1)

在Django项目中:

manage.py startapp sellers
manage.py startapp buyers
manage.py startapp common

将这三个应用添加到settings.py。根据您的Django版本,它可以只是'sellers''buyers''common''seller.apps.SellerConfig'等等。

common/models.py中编写模型,以及与这两个应用相关的任何其他逻辑。

然后,在您的卖家或买家意见中:

from common.models import * # or a particular model

希望这有帮助。