首页 > 解决方案 > 如何使用与同一数据库交互的外部 python 包来构建 Django 项目

问题描述

我正在开发一个 Django Rest Api,我的目标是以下结构:

django_project
│-- django_project
    │--__init.py__
    │-- asgi.py
    │-- setting.py
    │-- urls.py
    │-- wsgi.py
│-- app
    │-- migrations
    │-- __init.py__
    │-- admin.py
    │-- apps.py
    │-- models.py
    │-- tests.py
    │-- views.py
│-- manage.py
│-- media
│-- static
│-- templates

问题是我想包含一个我为数据处理开发的外部 python 包。这个包使用 slqalchemy 进行 db 映射,所以我不确定如何(以及在​​哪里)将它放入我的 django 项目中,因为会有重复的模型定义(使用 sqlachemy 和 Djando ORM)。

谢谢你的帮助

标签: pythondjangodjango-rest-frameworkweb-applicationssqlalchemy

解决方案


您可以根据需要添加任意数量的应用程序:

django_project
│-- django_project
    │--__init.py__
    │-- asgi.py
    │-- setting.py
    │-- urls.py
    │-- wsgi.py
│-- app_1
    │-- migrations
    │-- __init.py__
    │-- admin.py
    │-- apps.py
    │-- models.py
    │-- tests.py
    │-- views.py
│-- app_2
    │-- __init.py__
    │-- admin.py

 ...

│-- manage.py
│-- media
│-- static
│-- templates

实际上 django app 可以带或不带 django orm 模型。您不必在设置中将 python 包注册为应用程序即可在其他注册的应用程序中导入和使用它。如果我们开发 django orm 模型并使用迁移,或者有信号,或者 celery 任务,或者 url,则需要将 python 包注册为 django app。


推荐阅读