python - 如何使用与同一数据库交互的外部 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)。
谢谢你的帮助
解决方案
您可以根据需要添加任意数量的应用程序:
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。
推荐阅读
- python - 如果不包含另一个列表列表,则查找列表。Python
- sql-server - 在 SQL Server 中拆分前缀、名字、中间名和姓氏中的全名
- stm32 - stm32L476 - 擦除闪存
- java - 只有 JRadioButton 会出现导入错误(CheckBox 可能)。我如何解决它?
- javascript - A JSON object key's return undefined in ReactJS
- c# - GetEnumSelect 列表对我不起作用。如何解决这个问题?
- java - Tomcat 8 - aws 上的内存泄漏
- reactjs - 如何使用打字稿中的枚举作为反应组件的默认道具值
- mongodb - 准备好的 API | Groovy 脚本将变量值作为 Mongo DB 集合的字段输入传递
- javascript - 创建带有数字 +10/-10 的数组,其中中间一个为 0,具体取决于我想要的长度