两个项目使用同一个Postgres数据库,而项目在Django上
Two projects use the same Postgres database, and the project on Django
我有两个项目使用同一个 Postgresql 数据库。其中一个项目是用 Golange 编写的,另一个是用 Django 编写的。我在 Django 项目中有一个任务,从另一个项目中创建的 table 中获取数据。更准确地说,我必须从客户端 table 获取数据,这不是在 Django 中创建的。 Django 项目上没有关于客户端 table 的信息。
下面是我如何从 Django 项目中创建的 Cook table 获取日期。
如何以与上述相同的方式从客户table获取日期?
下面是两个项目存储库,以及数据库中的一些屏幕截图。
https://github.com/NarminSH/Go-Client.git
https://github.com/NarminSH/Lezzetly
提前致谢。
您有两个选择:
- 使用 Django's raw SQL queries 仅
SELECT
来自 table 的数据
- 使用
inspectdb
让 Django 为 clients
table 生成一个模型。该模型会将 Meta.managed
设置为 False,因此 Django 不会触及它(例如进行迁移)。然后,您可以对其使用常规的 Django ORM 操作。
- 手动编写模型,在 Meta class 上设置
db_table = "clients"
和 managed = False
。然后,您可以对其使用常规的 Django ORM 操作。
Django(或您)生成的模型可能类似于
class Client(models.Model):
id = models.IntegerField(primary_key=True)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
# ... etc ...
class Meta:
managed = False
db_table = 'clients'
通过使用 inspectdb 命令内省数据库结构来创建基于数据库结构的 Django 模型:
$ python manage.py inspectdb > models.py
然后就可以用Django查询数据库了API.
看看https://docs.djangoproject.com/en/3.2/howto/legacy-databases/#auto-generate-the-models
我有两个项目使用同一个 Postgresql 数据库。其中一个项目是用 Golange 编写的,另一个是用 Django 编写的。我在 Django 项目中有一个任务,从另一个项目中创建的 table 中获取数据。更准确地说,我必须从客户端 table 获取数据,这不是在 Django 中创建的。 Django 项目上没有关于客户端 table 的信息。
下面是我如何从 Django 项目中创建的 Cook table 获取日期。
如何以与上述相同的方式从客户table获取日期?
下面是两个项目存储库,以及数据库中的一些屏幕截图。
https://github.com/NarminSH/Go-Client.git
https://github.com/NarminSH/Lezzetly
提前致谢。
您有两个选择:
- 使用 Django's raw SQL queries 仅
SELECT
来自 table 的数据
- 使用
inspectdb
让 Django 为clients
table 生成一个模型。该模型会将Meta.managed
设置为 False,因此 Django 不会触及它(例如进行迁移)。然后,您可以对其使用常规的 Django ORM 操作。 - 手动编写模型,在 Meta class 上设置
db_table = "clients"
和managed = False
。然后,您可以对其使用常规的 Django ORM 操作。
Django(或您)生成的模型可能类似于
class Client(models.Model):
id = models.IntegerField(primary_key=True)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
# ... etc ...
class Meta:
managed = False
db_table = 'clients'
通过使用 inspectdb 命令内省数据库结构来创建基于数据库结构的 Django 模型:
$ python manage.py inspectdb > models.py
然后就可以用Django查询数据库了API.
看看https://docs.djangoproject.com/en/3.2/howto/legacy-databases/#auto-generate-the-models