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

Tri*_*ase 3 django web-applications django-models

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

我正在使用 Django 进行练习,并尝试制作一个简单的荷兰式拍卖项目。最初,我认为这个想法是创建两个不同的应用程序,一个买家应用程序和一个卖家应用程序,然后让它们共享数据库(或三个应用程序,一个公共应用程序、一个买家应用程序和一个卖家应用程序)。然而,我越深入地研究它,它看起来就越复杂 - 我觉得 Django 并不是真的意味着拥有不同的应用程序,这些应用程序是围绕共享一组表中的所有数据而设计的(也许我错了?),大致基于我发现必须修改迁移工作方式以适应这种情况。

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

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

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

所以我的问题是:是否有针对我所缺少的此类信息的明显资源?如果是这样,你能指点我一下吗?

alf*_*kim 7

在你的 Django 项目中:

manage.py startapp sellers
manage.py startapp buyers
manage.py startapp common
Run Code Online (Sandbox Code Playgroud)

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

将您的模型common/models.py以及与这两个应用程序相关的任何其他逻辑写入其中。

然后,在您的卖家或买家看来:

from common.models import * # or a particular model

希望这可以帮助。