<p><a href="https://docs.djangoproject.com/en/3.0/topics/db/managers/" rel="nofollow noreferrer">Click here for Documentation</a></p>
<p><a href="https://djangobook.com/mdj2-advanced-models/" rel="nofollow noreferrer">Ref.</a></p>
<p>默认情况下,Django向每个Django模型类添加一个名为objects的管理器。
如果您有特定的业务逻辑,您可以使用管理器覆盖内置的模型方法,如save()和delete(),将业务逻辑添加到默认数据库行为中,或者您可以专门设计一些查询逻辑</p>
<p>文件名-->;models.py</p>
<pre><code>from .managers import ModelNameManager
class ModelName(Base):
title = models.CharField(max_length=255, blank=True, null=True)
headline = models.CharField(max_length=255, blank=True, null=True)
objects = ModelNameManager()
</code></pre>
<p>在应用程序中创建文件managers.py文件
文件名-->;经理.py</p>
<pre><code>class ModelNameQuerySet(models.QuerySet):
def by_name(self, id):
return self.filter(id=id)
class ModelNameManager(models.Manager):
def get_queryset(self):
return ModelNameQuerySet(self.model, using=self._db)
def by_name(self, ad):
return self.get_queryset().by_name(id)
</code></pre>
<p>在Views.py或任何服务文件中,将显示您的查询</p>
<pre><code> import ModelName
obj = ModelName.get_queryset(id)
obj.title
</code></pre>
<p>这将基于在管理器中编写的查询返回对象</p>
<p>我希望这是有帮助的</p>