【问题标题】:How can I connect my existing external PostgreSQL Database to automatically create my Models.py for a Django Rest Framework?如何连接现有的外部 PostgreSQL 数据库以自动为 Django Rest 框架创建 Models.py?
【发布时间】:2021-03-29 00:03:33
【问题描述】:

我有一个现有的 PostgreSQL 数据库,我想使用 Django Rest Framework 围绕它创建 API。如何在 Django 中将我的数据库中的表显示为模型以进一步将它们用于 API?

【问题讨论】:

    标签: python django database postgresql api


    【解决方案1】:

    首先,您必须按照这些说明https://docs.djangoproject.com/en/3.1/ref/databases/#postgresql-notes 将现有数据库与您的 Django 应用程序连接起来,或者只需在您的 settings.py 文件中添加以下代码

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'db_name',                      
            'USER': 'db_user',
            'PASSWORD': 'db_user_password',
            'HOST': '',
            'PORT': 'db_port_number',
        }
    }
    

    其次,Django 提供了一个强大的命令,可以帮助您检查现有的数据库模型并将这些模型保存到您的 models.py 文件中。

    python manage.py inspectdb > models.py
    

    如果您需要更多信息,请阅读官方文档https://docs.djangoproject.com/en/3.1/howto/legacy-databases/#auto-generate-the-models

    【讨论】:

    • 当我尝试迁移这些模型时,我收到此错误:“错误:api.AddressMaster.address_owned_by: (fields.E304) 'AddressMaster.address_owned_by' 的反向访问器与反向访问器冲突'AddressMaster.address_type'。提示:在 'AddressMaster.address_owned_by' 或 'AddressMaster.address_type' 的定义中添加或更改相关名称参数。”对于我所有的数据库表,我该如何解决这些问题?还有“AssertionError: Model api.Holidays 不能有多个自动生成的字段。”对于我所有自动生成的主键
    • 嘿@PrateekJain 这些问题与您当前的问题无关,您可以通过在网络上进一步研究来深入了解每个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2021-10-05
    • 2014-05-25
    • 1970-01-01
    相关资源
    最近更新 更多