使用相同数据库表的Django多个项目

时间:2020-01-29 00:39:57

标签: django python-3.x database postgresql django-models

我一直在阅读有关将相同的数据库用于多个Django项目的相关文章,但是,我还无法提出解决方案。 导入时我尝试了相对路径和绝对路径,但是当我尝试访问父目录时,它会给出“尝试的相对导入超出顶级程序包”的错误。

Project 1通过填写表单来使用户写入数据库,而Project 2则从数据库中检索用户写入的数据。

我正在将Postgresql用于数据库。我尝试为两个项目编写完全相同的models.py,但似乎在数据库中它们显示为单独的关系/表。例如。对于这两个model.py中名为school的表,在Postgres数据库中看起来像project1_school和project2_school。

有没有一种方法可以读写同一数据库的相同表?

非常感谢您。

1 个答案:

答案 0 :(得分:1)

我认为您可能会对项目和应用程序之间的差异感到困惑。

项目与应用

项目和应用之间有什么区别?应用程序是执行某项操作的Web应用程序,例如Weblog系统,公共记录数据库或小型民意调查应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以在多个项目中。

Writing your first Django app, part 1

因此,在您的特定情况下,我想说您的实际项目(两个项目)都可以是一个项目的应用程序。我认为这是一种更好的方法的主要原因是,两个应用程序都将使用相同的数据,一个应用程序将写入,而另一个应用程序将检索它。甚至有人认为它们实际上可能是同一应用程序。但这可能取决于您业务的许多因素。

顺便说一句,对于我来说,很难想象有两个项目使用相同的数据库是一个好主意的情况。即使两个项目都需要共享数据,我也不会考虑在数据库上使用。我会尝试在应用程序级别解决它。但是我出于某种原因需要在数据库级别共享信息,有一些工具可以连接两个数据库。

相关问题