mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
[1.5.x] Fixed #19652 -- Fixed .none() regression in related fields
The regression was caused by using .none() when querying for related models, and the origin field's value was None. This resulted in missing custom related manager subclass as .none() returns plain QuerySet. This isn't backport from master, in master .none() correctly preserves the queryset's class. Patch provided by Simon Charette, with some minor polish by committer.
This commit is contained in:
@@ -63,3 +63,24 @@ class Car(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
# Bug #19652
|
||||
class ObjectQuerySet(models.query.QuerySet):
|
||||
pass
|
||||
|
||||
class ObjectManager(models.Manager):
|
||||
use_for_related_fields = True
|
||||
|
||||
def get_query_set(self):
|
||||
return ObjectQuerySet(self.model, using=self._db)
|
||||
|
||||
|
||||
class RelatedObject(models.Model):
|
||||
pass
|
||||
|
||||
|
||||
class Object(models.Model):
|
||||
related = models.ForeignKey(RelatedObject, related_name='objs')
|
||||
|
||||
objects = ObjectManager()
|
||||
|
||||
Reference in New Issue
Block a user