python - 不使用模型和 ORM 时,将辅助函数放在哪里?

标签 python django django-models pymongo

我必须在 Django 项目中使用 PyMongo,尽管我一直使用 Django 的 ORM 或 Mongoengine。使用旧设置,每个模型都有自己的方法来完成一些实际工作。这一次,不得不使用 PyMongo,我没有模型,也不知道将辅助函数放在哪里。

目前我正在将它们写在 models.py 文件中,但我什至没有完成一半,我觉得这样我会弄乱模型文件(太多的小函数).

你知道解决这个问题的更好方法吗?

最佳答案

您没有使用 django ORM,您没有任何模型 - 您应该将 models.py 留空。

这是您可以考虑使用的一个选项。

创建一个名为 db 的包。根据它们正在使用的实体/集合,将您的辅助函数分成单独的脚本。例如:

db/
    __init__.py
    user.py
    customer.py
    role.py

您可以将其他通用辅助函数留在 __init__.py 中或为它们创建一个单独的模块。

此外,在将当前的 models.py 文件拆分为这些 python 模块时,您可能会注意到大多数辅助函数都是相似的 - 在这种情况下,请考虑采用 OOP 方法,创建一个 python为每个集合创建类,定义通用方法等(这看起来就像是在发明您自己的 ORM 层)。

希望对您有所帮助。

关于python - 不使用模型和 ORM 时,将辅助函数放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17514036/

相关文章:

python - 提示 : No function matches the given name and argument types. 您可能需要添加显式类型转换。 TrigramSimilarity Django

python - 矩阵的距离矩阵

php - 一次执行多个命令

django - Django 支持 JOIN 吗?

sql - django 模型中的不同元素

python - Django 管理 "save and view on site"按钮

python - 带参数的装饰器?

python - 如何在 Django 表单中添加多个属性

django - formfield_for_foreignkey 和内联管理员

django - 从 Django 模型中的选择中获取人类可读名称的实际值