跳转到主要内容

Model managers上的链式方法

项目描述

允许链式调用自定义模型Manager方法,无需通过QuerySet循环。

安装

只需使用pip安装包

pip install django-chainable-manager

使用

创建一个扩展chainablemanager.ChainableManager的Manager

from django.db import models
from chainablemanager.manager import ChainableManager

class PostManager(ChainableManager):
    class QuerySetMixin(object):
        def published(self):
            return self.filter(publish_date__gte=datetime.date.today())

        def written_by(self, user):
            return self.filter(author=user)

class Post(models.Model):
    title = models.CharField(max_length=255)
    content = models.TextField()
    publish_date = models.DateField()
    author = models.ForeignKey('auth.User')

    objects = PostManager()

现在您可以在需要的地方使用它

from .models import Post

my_published_posts = Post.objects.written_by(request.user).published()

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

django-chainable-manager-0.5.0.tar.gz (3.7 kB 查看哈希值)

上传时间:

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面