Support custom managers in Django models

For the moment this support is limited to just Model.objects
replacements and does not use the custom manager for ForeignKey
related managers.
This commit is contained in:
Peter Law
2020-05-22 12:33:03 +01:00
parent 669b70b2cd
commit c36904d983
2 changed files with 56 additions and 5 deletions

View File

@@ -6,9 +6,18 @@ from django.db import models
from django.contrib.auth.models import User
class TagManager(models.Manager):
def specially_filtered_tags(self):
return self.all()
class Tag(models.Model):
tag_name = models.CharField()
objects = TagManager()
custom_objects = TagManager()
class Category(models.Model):
category_name = models.CharField()
@@ -155,6 +164,16 @@ model_instance.objects.update(x='')
#? BusinessModel()
model_instance.objects.create()
# -----------------
# Custom object manager
# -----------------
#? TagManager()
Tag.objects
#? TagManager()
Tag.custom_objects
# -----------------
# Inheritance
# -----------------