mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Fixed #23550 -- Normalized get_queryset() of RelatedObjectDescriptor
and ReverseSingleRelatedObjectDescriptor so they actually return QuerySet instances. Also ensured that SingleRelatedObjectDescriptor.get_queryset() accounts for use_for_related_fields=True. This cleanup lays the groundwork for #23533. Thanks Anssi Kääriäinen for the review.
This commit is contained in:
parent
1fd6e13bf2
commit
e043aae9bb
3 changed files with 90 additions and 15 deletions
|
@ -96,3 +96,24 @@ class Pointer2(models.Model):
|
|||
|
||||
class HiddenPointer(models.Model):
|
||||
target = models.OneToOneField(Target, related_name='hidden+')
|
||||
|
||||
|
||||
# Test related objects visibility.
|
||||
class SchoolManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super(SchoolManager, self).get_queryset().filter(is_public=True)
|
||||
|
||||
|
||||
class School(models.Model):
|
||||
is_public = models.BooleanField(default=False)
|
||||
objects = SchoolManager()
|
||||
|
||||
|
||||
class DirectorManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super(DirectorManager, self).get_queryset().filter(is_temp=False)
|
||||
|
||||
class Director(models.Model):
|
||||
is_temp = models.BooleanField(default=False)
|
||||
school = models.OneToOneField(School)
|
||||
objects = DirectorManager()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue