Allows chaining of custom model Manager methods, without jumping through QuerySet hoops.
Installing
Simply install the package using pip:
pip install django-chainable-manager
Using
Create a Manager that extends chainablemanager.ChainableManager:
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()
Now use it where ever you need it:
from .models import Post
my_published_posts = Post.objects.written_by(request.user).published()
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-chainable-manager-0.5.0.tar.gz.
File metadata
- Download URL: django-chainable-manager-0.5.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14ee56784f3985566e0be48cba1fbc985e392b1ee339787c23f9041ccc150230
|
|
| MD5 |
b8e86fe00a1b3958bb07db856ae01ab8
|
|
| BLAKE2b-256 |
a2040fc558e70f5b8a0287f5162faf67e9ee48898cb96c7a88a14ddf75cfc6e8
|