【问题标题】:How to manage Model, Manager and QuerySet?如何管理 Model、Manager 和 QuerySet?
【发布时间】:2015-11-04 11:02:24
【问题描述】:

如果每个Model 对象都有很多ManagerQuerySet,这会导致我的models.py 无法读取并且很长。我该如何管理它们?

我想出了一个解决方案。起初。 ModelManagerQuerySetmodels.py 中。我想和他们分开,做独立的文件,比如managers.pyqueryset.py

这是我原来的目录。

├── views.py
├── urls.py
├── models.py
└── ...

这是我的方法的新目录。

├── views.py
├── urls.py
├── models.py
├── managers.py
├── queryset.py
└── ...

没事吧?或者谁有更好的提议?

【问题讨论】:

  • 当您有大量用于自定义管理器的代码时,这实际上是一种不错的方法。
  • 这很随意,你应该做最适合的事情。您的方法和弗朗索瓦的方法都是有效的解决方案。

标签: python django django-models django-queryset django-managers


【解决方案1】:

如果models.py文件太长,我个人更喜欢拆分它。

删除models.py,改为创建导演。文件夹下models

  • __init__.py - 包括:
    • from .group1 import Model1, Model2
    • from .group2 import Model3, Model4
  • group1.py - 包含Model1Model1QuerySetModel2Model2QuerySet
  • group2.py - 包含 Model3 等。

显然你想要一些有意义的好名字而不是group1 & group2

【讨论】:

  • 为什么不:group1.py 包含 Model1Model1QuerySetgroup2.py 包含 Model2Model2QuerySet 等。
  • 你可以,但我认为这会产生很多文件。你也可能有属于一起的模型。
  • 什么是 LOT?你能解释一下吗?
  • 我的意思是很多 :)
猜你喜欢
  • 2012-05-15
  • 2019-02-15
  • 2018-06-15
  • 2016-03-23
  • 1970-01-01
  • 2023-03-15
  • 2013-08-21
  • 2021-06-12
  • 1970-01-01
相关资源
最近更新 更多