diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-03 20:24:19 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-07 20:37:05 +0100 |
| commit | 9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch) | |
| tree | f0506b668a013d0063e5fba3dbf4863b466713ba /tests/model_meta | |
| parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/model_meta')
| -rw-r--r-- | tests/model_meta/models.py | 112 | ||||
| -rw-r--r-- | tests/model_meta/results.py | 1441 | ||||
| -rw-r--r-- | tests/model_meta/tests.py | 174 |
3 files changed, 900 insertions, 827 deletions
diff --git a/tests/model_meta/models.py b/tests/model_meta/models.py index b240832d06..684d655ad3 100644 --- a/tests/model_meta/models.py +++ b/tests/model_meta/models.py @@ -1,6 +1,4 @@ -from django.contrib.contenttypes.fields import ( - GenericForeignKey, GenericRelation, -) +from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation from django.contrib.contenttypes.models import ContentType from django.db import models @@ -12,33 +10,41 @@ class Relation(models.Model): class InstanceOnlyDescriptor: def __get__(self, instance, cls=None): if instance is None: - raise AttributeError('Instance only') + raise AttributeError("Instance only") return 1 class AbstractPerson(models.Model): # DATA fields data_abstract = models.CharField(max_length=10) - fk_abstract = models.ForeignKey(Relation, models.CASCADE, related_name='fk_abstract_rel') + fk_abstract = models.ForeignKey( + Relation, models.CASCADE, related_name="fk_abstract_rel" + ) # M2M fields - m2m_abstract = models.ManyToManyField(Relation, related_name='m2m_abstract_rel') - friends_abstract = models.ManyToManyField('self', symmetrical=True) - following_abstract = models.ManyToManyField('self', related_name='followers_abstract', symmetrical=False) + m2m_abstract = models.ManyToManyField(Relation, related_name="m2m_abstract_rel") + friends_abstract = models.ManyToManyField("self", symmetrical=True) + following_abstract = models.ManyToManyField( + "self", related_name="followers_abstract", symmetrical=False + ) # VIRTUAL fields data_not_concrete_abstract = models.ForeignObject( Relation, on_delete=models.CASCADE, - from_fields=['abstract_non_concrete_id'], - to_fields=['id'], - related_name='fo_abstract_rel', + from_fields=["abstract_non_concrete_id"], + to_fields=["id"], + related_name="fo_abstract_rel", ) # GFK fields - content_type_abstract = models.ForeignKey(ContentType, models.CASCADE, related_name='+') + content_type_abstract = models.ForeignKey( + ContentType, models.CASCADE, related_name="+" + ) object_id_abstract = models.PositiveIntegerField() - content_object_abstract = GenericForeignKey('content_type_abstract', 'object_id_abstract') + content_object_abstract = GenericForeignKey( + "content_type_abstract", "object_id_abstract" + ) # GR fields generic_relation_abstract = GenericRelation(Relation) @@ -56,26 +62,28 @@ class AbstractPerson(models.Model): class BasePerson(AbstractPerson): # DATA fields data_base = models.CharField(max_length=10) - fk_base = models.ForeignKey(Relation, models.CASCADE, related_name='fk_base_rel') + fk_base = models.ForeignKey(Relation, models.CASCADE, related_name="fk_base_rel") # M2M fields - m2m_base = models.ManyToManyField(Relation, related_name='m2m_base_rel') - friends_base = models.ManyToManyField('self', symmetrical=True) - following_base = models.ManyToManyField('self', related_name='followers_base', symmetrical=False) + m2m_base = models.ManyToManyField(Relation, related_name="m2m_base_rel") + friends_base = models.ManyToManyField("self", symmetrical=True) + following_base = models.ManyToManyField( + "self", related_name="followers_base", symmetrical=False + ) # VIRTUAL fields data_not_concrete_base = models.ForeignObject( Relation, on_delete=models.CASCADE, - from_fields=['base_non_concrete_id'], - to_fields=['id'], - related_name='fo_base_rel', + from_fields=["base_non_concrete_id"], + to_fields=["id"], + related_name="fo_base_rel", ) # GFK fields - content_type_base = models.ForeignKey(ContentType, models.CASCADE, related_name='+') + content_type_base = models.ForeignKey(ContentType, models.CASCADE, related_name="+") object_id_base = models.PositiveIntegerField() - content_object_base = GenericForeignKey('content_type_base', 'object_id_base') + content_object_base = GenericForeignKey("content_type_base", "object_id_base") # GR fields generic_relation_base = GenericRelation(Relation) @@ -84,26 +92,34 @@ class BasePerson(AbstractPerson): class Person(BasePerson): # DATA fields data_inherited = models.CharField(max_length=10) - fk_inherited = models.ForeignKey(Relation, models.CASCADE, related_name='fk_concrete_rel') + fk_inherited = models.ForeignKey( + Relation, models.CASCADE, related_name="fk_concrete_rel" + ) # M2M Fields - m2m_inherited = models.ManyToManyField(Relation, related_name='m2m_concrete_rel') - friends_inherited = models.ManyToManyField('self', symmetrical=True) - following_inherited = models.ManyToManyField('self', related_name='followers_concrete', symmetrical=False) + m2m_inherited = models.ManyToManyField(Relation, related_name="m2m_concrete_rel") + friends_inherited = models.ManyToManyField("self", symmetrical=True) + following_inherited = models.ManyToManyField( + "self", related_name="followers_concrete", symmetrical=False + ) # VIRTUAL fields data_not_concrete_inherited = models.ForeignObject( Relation, on_delete=models.CASCADE, - from_fields=['model_non_concrete_id'], - to_fields=['id'], - related_name='fo_concrete_rel', + from_fields=["model_non_concrete_id"], + to_fields=["id"], + related_name="fo_concrete_rel", ) # GFK fields - content_type_concrete = models.ForeignKey(ContentType, models.CASCADE, related_name='+') + content_type_concrete = models.ForeignKey( + ContentType, models.CASCADE, related_name="+" + ) object_id_concrete = models.PositiveIntegerField() - content_object_concrete = GenericForeignKey('content_type_concrete', 'object_id_concrete') + content_object_concrete = GenericForeignKey( + "content_type_concrete", "object_id_concrete" + ) # GR fields generic_relation_concrete = GenericRelation(Relation) @@ -121,24 +137,30 @@ class PersonThroughProxySubclass(ProxyPerson): class Relating(models.Model): # ForeignKey to BasePerson - baseperson = models.ForeignKey(BasePerson, models.CASCADE, related_name='relating_baseperson') - baseperson_hidden = models.ForeignKey(BasePerson, models.CASCADE, related_name='+') + baseperson = models.ForeignKey( + BasePerson, models.CASCADE, related_name="relating_baseperson" + ) + baseperson_hidden = models.ForeignKey(BasePerson, models.CASCADE, related_name="+") # ForeignKey to Person - person = models.ForeignKey(Person, models.CASCADE, related_name='relating_person') - person_hidden = models.ForeignKey(Person, models.CASCADE, related_name='+') + person = models.ForeignKey(Person, models.CASCADE, related_name="relating_person") + person_hidden = models.ForeignKey(Person, models.CASCADE, related_name="+") # ForeignKey to ProxyPerson - proxyperson = models.ForeignKey(ProxyPerson, models.CASCADE, related_name='relating_proxyperson') - proxyperson_hidden = models.ForeignKey(ProxyPerson, models.CASCADE, related_name='relating_proxyperson_hidden+') + proxyperson = models.ForeignKey( + ProxyPerson, models.CASCADE, related_name="relating_proxyperson" + ) + proxyperson_hidden = models.ForeignKey( + ProxyPerson, models.CASCADE, related_name="relating_proxyperson_hidden+" + ) # ManyToManyField to BasePerson - basepeople = models.ManyToManyField(BasePerson, related_name='relating_basepeople') - basepeople_hidden = models.ManyToManyField(BasePerson, related_name='+') + basepeople = models.ManyToManyField(BasePerson, related_name="relating_basepeople") + basepeople_hidden = models.ManyToManyField(BasePerson, related_name="+") # ManyToManyField to Person - people = models.ManyToManyField(Person, related_name='relating_people') - people_hidden = models.ManyToManyField(Person, related_name='+') + people = models.ManyToManyField(Person, related_name="relating_people") + people_hidden = models.ManyToManyField(Person, related_name="+") # ParentListTests models @@ -147,11 +169,15 @@ class CommonAncestor(models.Model): class FirstParent(CommonAncestor): - first_ancestor = models.OneToOneField(CommonAncestor, models.CASCADE, primary_key=True, parent_link=True) + first_ancestor = models.OneToOneField( + CommonAncestor, models.CASCADE, primary_key=True, parent_link=True + ) class SecondParent(CommonAncestor): - second_ancestor = models.OneToOneField(CommonAncestor, models.CASCADE, primary_key=True, parent_link=True) + second_ancestor = models.OneToOneField( + CommonAncestor, models.CASCADE, primary_key=True, parent_link=True + ) class Child(FirstParent, SecondParent): diff --git a/tests/model_meta/results.py b/tests/model_meta/results.py index 00aae72d60..2b942ee814 100644 --- a/tests/model_meta/results.py +++ b/tests/model_meta/results.py @@ -1,274 +1,272 @@ -from .models import ( - AbstractPerson, BasePerson, Person, ProxyPerson, Relating, Relation, -) +from .models import AbstractPerson, BasePerson, Person, ProxyPerson, Relating, Relation TEST_RESULTS = { - 'get_all_field_names': { + "get_all_field_names": { Person: [ - 'baseperson_ptr', - 'baseperson_ptr_id', - 'content_type_abstract', - 'content_type_abstract_id', - 'content_type_base', - 'content_type_base_id', - 'content_type_concrete', - 'content_type_concrete_id', - 'data_abstract', - 'data_base', - 'data_inherited', - 'data_not_concrete_abstract', - 'data_not_concrete_base', - 'data_not_concrete_inherited', - 'fk_abstract', - 'fk_abstract_id', - 'fk_base', - 'fk_base_id', - 'fk_inherited', - 'fk_inherited_id', - 'followers_abstract', - 'followers_base', - 'followers_concrete', - 'following_abstract', - 'following_base', - 'following_inherited', - 'friends_abstract', - 'friends_base', - 'friends_inherited', - 'generic_relation_abstract', - 'generic_relation_base', - 'generic_relation_concrete', - 'id', - 'm2m_abstract', - 'm2m_base', - 'm2m_inherited', - 'object_id_abstract', - 'object_id_base', - 'object_id_concrete', - 'relating_basepeople', - 'relating_baseperson', - 'relating_people', - 'relating_person', + "baseperson_ptr", + "baseperson_ptr_id", + "content_type_abstract", + "content_type_abstract_id", + "content_type_base", + "content_type_base_id", + "content_type_concrete", + "content_type_concrete_id", + "data_abstract", + "data_base", + "data_inherited", + "data_not_concrete_abstract", + "data_not_concrete_base", + "data_not_concrete_inherited", + "fk_abstract", + "fk_abstract_id", + "fk_base", + "fk_base_id", + "fk_inherited", + "fk_inherited_id", + "followers_abstract", + "followers_base", + "followers_concrete", + "following_abstract", + "following_base", + "following_inherited", + "friends_abstract", + "friends_base", + "friends_inherited", + "generic_relation_abstract", + "generic_relation_base", + "generic_relation_concrete", + "id", + "m2m_abstract", + "m2m_base", + "m2m_inherited", + "object_id_abstract", + "object_id_base", + "object_id_concrete", + "relating_basepeople", + "relating_baseperson", + "relating_people", + "relating_person", ], BasePerson: [ - 'content_type_abstract', - 'content_type_abstract_id', - 'content_type_base', - 'content_type_base_id', - 'data_abstract', - 'data_base', - 'data_not_concrete_abstract', - 'data_not_concrete_base', - 'fk_abstract', - 'fk_abstract_id', - 'fk_base', - 'fk_base_id', - 'followers_abstract', - 'followers_base', - 'following_abstract', - 'following_base', - 'friends_abstract', - 'friends_base', - 'generic_relation_abstract', - 'generic_relation_base', - 'id', - 'm2m_abstract', - 'm2m_base', - 'object_id_abstract', - 'object_id_base', - 'person', - 'relating_basepeople', - 'relating_baseperson' + "content_type_abstract", + "content_type_abstract_id", + "content_type_base", + "content_type_base_id", + "data_abstract", + "data_base", + "data_not_concrete_abstract", + "data_not_concrete_base", + "fk_abstract", + "fk_abstract_id", + "fk_base", + "fk_base_id", + "followers_abstract", + "followers_base", + "following_abstract", + "following_base", + "friends_abstract", + "friends_base", + "generic_relation_abstract", + "generic_relation_base", + "id", + "m2m_abstract", + "m2m_base", + "object_id_abstract", + "object_id_base", + "person", + "relating_basepeople", + "relating_baseperson", ], AbstractPerson: [ - 'content_type_abstract', - 'content_type_abstract_id', - 'data_abstract', - 'data_not_concrete_abstract', - 'fk_abstract', - 'fk_abstract_id', - 'following_abstract', - 'friends_abstract', - 'generic_relation_abstract', - 'm2m_abstract', - 'object_id_abstract', + "content_type_abstract", + "content_type_abstract_id", + "data_abstract", + "data_not_concrete_abstract", + "fk_abstract", + "fk_abstract_id", + "following_abstract", + "friends_abstract", + "generic_relation_abstract", + "m2m_abstract", + "object_id_abstract", ], Relating: [ - 'basepeople', - 'basepeople_hidden', - 'baseperson', - 'baseperson_hidden', - 'baseperson_hidden_id', - 'baseperson_id', - 'id', - 'people', - 'people_hidden', - 'person', - 'person_hidden', - 'person_hidden_id', - 'person_id', - 'proxyperson', - 'proxyperson_hidden', - 'proxyperson_hidden_id', - 'proxyperson_id', + "basepeople", + "basepeople_hidden", + "baseperson", + "baseperson_hidden", + "baseperson_hidden_id", + "baseperson_id", + "id", + "people", + "people_hidden", + "person", + "person_hidden", + "person_hidden_id", + "person_id", + "proxyperson", + "proxyperson_hidden", + "proxyperson_hidden_id", + "proxyperson_id", ], }, - 'fields': { + "fields": { Person: [ - 'id', - 'data_abstract', - 'fk_abstract_id', - 'data_not_concrete_abstract', - 'content_type_abstract_id', - 'object_id_abstract', - 'data_base', - 'fk_base_id', - 'data_not_concrete_base', - 'content_type_base_id', - 'object_id_base', - 'baseperson_ptr_id', - 'data_inherited', - 'fk_inherited_id', - 'data_not_concrete_inherited', - 'content_type_concrete_id', - 'object_id_concrete', + "id", + "data_abstract", + "fk_abstract_id", + "data_not_concrete_abstract", + "content_type_abstract_id", + "object_id_abstract", + "data_base", + "fk_base_id", + "data_not_concrete_base", + "content_type_base_id", + "object_id_base", + "baseperson_ptr_id", + "data_inherited", + "fk_inherited_id", + "data_not_concrete_inherited", + "content_type_concrete_id", + "object_id_concrete", ], BasePerson: [ - 'id', - 'data_abstract', - 'fk_abstract_id', - 'data_not_concrete_abstract', - 'content_type_abstract_id', - 'object_id_abstract', - 'data_base', - 'fk_base_id', - 'data_not_concrete_base', - 'content_type_base_id', - 'object_id_base', + "id", + "data_abstract", + "fk_abstract_id", + "data_not_concrete_abstract", + "content_type_abstract_id", + "object_id_abstract", + "data_base", + "fk_base_id", + "data_not_concrete_base", + "content_type_base_id", + "object_id_base", ], AbstractPerson: [ - 'data_abstract', - 'fk_abstract_id', - 'data_not_concrete_abstract', - 'content_type_abstract_id', - 'object_id_abstract', + "data_abstract", + "fk_abstract_id", + "data_not_concrete_abstract", + "content_type_abstract_id", + "object_id_abstract", ], Relating: [ - 'id', - 'baseperson_id', - 'baseperson_hidden_id', - 'person_id', - 'person_hidden_id', - 'proxyperson_id', - 'proxyperson_hidden_id', + "id", + "baseperson_id", + "baseperson_hidden_id", + "person_id", + "person_hidden_id", + "proxyperson_id", + "proxyperson_hidden_id", ], }, - 'local_fields': { + "local_fields": { Person: [ - 'baseperson_ptr_id', - 'data_inherited', - 'fk_inherited_id', - 'data_not_concrete_inherited', - 'content_type_concrete_id', - 'object_id_concrete', + "baseperson_ptr_id", + "data_inherited", + "fk_inherited_id", + "data_not_concrete_inherited", + "content_type_concrete_id", + "object_id_concrete", ], BasePerson: [ - 'id', - 'data_abstract', - 'fk_abstract_id', - 'data_not_concrete_abstract', - 'content_type_abstract_id', - 'object_id_abstract', - 'data_base', - 'fk_base_id', - 'data_not_concrete_base', - 'content_type_base_id', - 'object_id_base', + "id", + "data_abstract", + "fk_abstract_id", + "data_not_concrete_abstract", + "content_type_abstract_id", + "object_id_abstract", + "data_base", + "fk_base_id", + "data_not_concrete_base", + "content_type_base_id", + "object_id_base", ], AbstractPerson: [ - 'data_abstract', - 'fk_abstract_id', - 'data_not_concrete_abstract', - 'content_type_abstract_id', - 'object_id_abstract', + "data_abstract", + "fk_abstract_id", + "data_not_concrete_abstract", + "content_type_abstract_id", + "object_id_abstract", ], Relating: [ - 'id', - 'baseperson_id', - 'baseperson_hidden_id', - 'person_id', - 'person_hidden_id', - 'proxyperson_id', - 'proxyperson_hidden_id', + "id", + "baseperson_id", + "baseperson_hidden_id", + "person_id", + "person_hidden_id", + "proxyperson_id", + "proxyperson_hidden_id", ], }, - 'local_concrete_fields': { + "local_concrete_fields": { Person: [ - 'baseperson_ptr_id', - 'data_inherited', - 'fk_inherited_id', - 'content_type_concrete_id', - 'object_id_concrete', + "baseperson_ptr_id", + "data_inherited", + "fk_inherited_id", + "content_type_concrete_id", + "object_id_concrete", ], BasePerson: [ - 'id', - 'data_abstract', - 'fk_abstract_id', - 'content_type_abstract_id', - 'object_id_abstract', - 'data_base', - 'fk_base_id', - 'content_type_base_id', - 'object_id_base', + "id", + "data_abstract", + "fk_abstract_id", + "content_type_abstract_id", + "object_id_abstract", + "data_base", + "fk_base_id", + "content_type_base_id", + "object_id_base", ], AbstractPerson: [ - 'data_abstract', - 'fk_abstract_id', - 'content_type_abstract_id', - 'object_id_abstract', + "data_abstract", + "fk_abstract_id", + "content_type_abstract_id", + "object_id_abstract", ], Relating: [ - 'id', - 'baseperson_id', - 'baseperson_hidden_id', - 'person_id', - 'person_hidden_id', - 'proxyperson_id', - 'proxyperson_hidden_id', + "id", + "baseperson_id", + "baseperson_hidden_id", + "person_id", + "person_hidden_id", + "proxyperson_id", + "proxyperson_hidden_id", ], }, - 'many_to_many': { + "many_to_many": { Person: [ - 'm2m_abstract', - 'friends_abstract', - 'following_abstract', - 'm2m_base', - 'friends_base', - 'following_base', - 'm2m_inherited', - 'friends_inherited', - 'following_inherited', + "m2m_abstract", + "friends_abstract", + "following_abstract", + "m2m_base", + "friends_base", + "following_base", + "m2m_inherited", + "friends_inherited", + "following_inherited", ], BasePerson: [ - 'm2m_abstract', - 'friends_abstract', - 'following_abstract', - 'm2m_base', - 'friends_base', - 'following_base', + "m2m_abstract", + "friends_abstract", + "following_abstract", + "m2m_base", + "friends_base", + "following_base", ], AbstractPerson: [ - 'm2m_abstract', - 'friends_abstract', - 'following_abstract', + "m2m_abstract", + "friends_abstract", + "following_abstract", ], Relating: [ - 'basepeople', - 'basepeople_hidden', - 'people', - 'people_hidden', + "basepeople", + "basepeople_hidden", + "people", + "people_hidden", ], }, - 'many_to_many_with_model': { + "many_to_many_with_model": { Person: [ BasePerson, BasePerson, @@ -300,599 +298,598 @@ TEST_RESULTS = { None, ], }, - 'get_all_related_objects_with_model_legacy': { + "get_all_related_objects_with_model_legacy": { Person: ( - ('relating_baseperson', BasePerson), - ('relating_person', None), + ("relating_baseperson", BasePerson), + ("relating_person", None), ), BasePerson: ( - ('person', None), - ('relating_baseperson', None), + ("person", None), + ("relating_baseperson", None), ), Relation: ( - ('fk_abstract_rel', None), - ('fo_abstract_rel', None), - ('fk_base_rel', None), - ('fo_base_rel', None), - ('fk_concrete_rel', None), - ('fo_concrete_rel', None), + ("fk_abstract_rel", None), + ("fo_abstract_rel", None), + ("fk_base_rel", None), + ("fo_base_rel", None), + ("fk_concrete_rel", None), + ("fo_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_hidden_local': { + "get_all_related_objects_with_model_hidden_local": { Person: ( - ('+', None), - ('_model_meta_relating_people_hidden_+', None), - ('Person_following_inherited+', None), - ('Person_following_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_m2m_inherited+', None), - ('Relating_people+', None), - ('Relating_people_hidden+', None), - ('followers_concrete', None), - ('friends_inherited_rel_+', None), - ('personthroughproxysubclass', None), - ('relating_people', None), - ('relating_person', None), - ('relating_proxyperson', None), - ('relating_proxyperson_hidden+', None), + ("+", None), + ("_model_meta_relating_people_hidden_+", None), + ("Person_following_inherited+", None), + ("Person_following_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_m2m_inherited+", None), + ("Relating_people+", None), + ("Relating_people_hidden+", None), + ("followers_concrete", None), + ("friends_inherited_rel_+", None), + ("personthroughproxysubclass", None), + ("relating_people", None), + ("relating_person", None), + ("relating_proxyperson", None), + ("relating_proxyperson_hidden+", None), ), ProxyPerson: ( - ('+', Person), - ('_model_meta_relating_people_hidden_+', Person), - ('Person_following_inherited+', Person), - ('Person_following_inherited+', Person), - ('Person_friends_inherited+', Person), - ('Person_friends_inherited+', Person), - ('Person_m2m_inherited+', Person), - ('Relating_people+', Person), - ('Relating_people_hidden+', Person), - ('followers_concrete', Person), - ('friends_inherited_rel_+', Person), - ('personthroughproxysubclass', Person), - ('relating_people', Person), - ('relating_person', Person), - ('relating_proxyperson', Person), - ('relating_proxyperson_hidden+', Person), + ("+", Person), + ("_model_meta_relating_people_hidden_+", Person), + ("Person_following_inherited+", Person), + ("Person_following_inherited+", Person), + ("Person_friends_inherited+", Person), + ("Person_friends_inherited+", Person), + ("Person_m2m_inherited+", Person), + ("Relating_people+", Person), + ("Relating_people_hidden+", Person), + ("followers_concrete", Person), + ("friends_inherited_rel_+", Person), + ("personthroughproxysubclass", Person), + ("relating_people", Person), + ("relating_person", Person), + ("relating_proxyperson", Person), + ("relating_proxyperson_hidden+", Person), ), BasePerson: ( - ('+', None), - ('_model_meta_relating_basepeople_hidden_+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_base+', None), - ('BasePerson_following_base+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Relating_basepeople+', None), - ('Relating_basepeople_hidden+', None), - ('followers_abstract', None), - ('followers_base', None), - ('friends_abstract_rel_+', None), - ('friends_base_rel_+', None), - ('person', None), - ('relating_basepeople', None), - ('relating_baseperson', None), + ("+", None), + ("_model_meta_relating_basepeople_hidden_+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_base+", None), + ("BasePerson_following_base+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Relating_basepeople+", None), + ("Relating_basepeople_hidden+", None), + ("followers_abstract", None), + ("followers_base", None), + ("friends_abstract_rel_+", None), + ("friends_base_rel_+", None), + ("person", None), + ("relating_basepeople", None), + ("relating_baseperson", None), ), Relation: ( - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Person_m2m_inherited+', None), - ('fk_abstract_rel', None), - ('fk_base_rel', None), - ('fk_concrete_rel', None), - ('fo_abstract_rel', None), - ('fo_base_rel', None), - ('fo_concrete_rel', None), - ('m2m_abstract_rel', None), - ('m2m_base_rel', None), - ('m2m_concrete_rel', None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Person_m2m_inherited+", None), + ("fk_abstract_rel", None), + ("fk_base_rel", None), + ("fk_concrete_rel", None), + ("fo_abstract_rel", None), + ("fo_base_rel", None), + ("fo_concrete_rel", None), + ("m2m_abstract_rel", None), + ("m2m_base_rel", None), + ("m2m_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_hidden': { + "get_all_related_objects_with_model_hidden": { Person: ( - ('+', BasePerson), - ('+', None), - ('_model_meta_relating_basepeople_hidden_+', BasePerson), - ('_model_meta_relating_people_hidden_+', None), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_m2m_abstract+', BasePerson), - ('BasePerson_m2m_base+', BasePerson), - ('Person_following_inherited+', None), - ('Person_following_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_m2m_inherited+', None), - ('Relating_basepeople+', BasePerson), - ('Relating_basepeople_hidden+', BasePerson), - ('Relating_people+', None), - ('Relating_people_hidden+', None), - ('followers_abstract', BasePerson), - ('followers_base', BasePerson), - ('followers_concrete', None), - ('friends_abstract_rel_+', BasePerson), - ('friends_base_rel_+', BasePerson), - ('friends_inherited_rel_+', None), - ('personthroughproxysubclass', None), - ('relating_basepeople', BasePerson), - ('relating_baseperson', BasePerson), - ('relating_people', None), - ('relating_person', None), - ('relating_proxyperson', None), - ('relating_proxyperson_hidden+', None), + ("+", BasePerson), + ("+", None), + ("_model_meta_relating_basepeople_hidden_+", BasePerson), + ("_model_meta_relating_people_hidden_+", None), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_m2m_abstract+", BasePerson), + ("BasePerson_m2m_base+", BasePerson), + ("Person_following_inherited+", None), + ("Person_following_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_m2m_inherited+", None), + ("Relating_basepeople+", BasePerson), + ("Relating_basepeople_hidden+", BasePerson), + ("Relating_people+", None), + ("Relating_people_hidden+", None), + ("followers_abstract", BasePerson), + ("followers_base", BasePerson), + ("followers_concrete", None), + ("friends_abstract_rel_+", BasePerson), + ("friends_base_rel_+", BasePerson), + ("friends_inherited_rel_+", None), + ("personthroughproxysubclass", None), + ("relating_basepeople", BasePerson), + ("relating_baseperson", BasePerson), + ("relating_people", None), + ("relating_person", None), + ("relating_proxyperson", None), + ("relating_proxyperson_hidden+", None), ), ProxyPerson: ( - ('+', BasePerson), - ('+', Person), - ('_model_meta_relating_basepeople_hidden_+', BasePerson), - ('_model_meta_relating_people_hidden_+', Person), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_m2m_abstract+', BasePerson), - ('BasePerson_m2m_base+', BasePerson), - ('Person_following_inherited+', Person), - ('Person_following_inherited+', Person), - ('Person_friends_inherited+', Person), - ('Person_friends_inherited+', Person), - ('Person_m2m_inherited+', Person), - ('Relating_basepeople+', BasePerson), - ('Relating_basepeople_hidden+', BasePerson), - ('Relating_people+', Person), - ('Relating_people_hidden+', Person), - ('followers_abstract', BasePerson), - ('followers_base', BasePerson), - ('followers_concrete', Person), - ('friends_abstract_rel_+', BasePerson), - ('friends_base_rel_+', BasePerson), - ('friends_inherited_rel_+', Person), - ('personthroughproxysubclass', Person), - ('relating_basepeople', BasePerson), - ('relating_baseperson', BasePerson), - ('relating_people', Person), - ('relating_person', Person), - ('relating_proxyperson', Person), - ('relating_proxyperson_hidden+', Person), + ("+", BasePerson), + ("+", Person), + ("_model_meta_relating_basepeople_hidden_+", BasePerson), + ("_model_meta_relating_people_hidden_+", Person), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_m2m_abstract+", BasePerson), + ("BasePerson_m2m_base+", BasePerson), + ("Person_following_inherited+", Person), + ("Person_following_inherited+", Person), + ("Person_friends_inherited+", Person), + ("Person_friends_inherited+", Person), + ("Person_m2m_inherited+", Person), + ("Relating_basepeople+", BasePerson), + ("Relating_basepeople_hidden+", BasePerson), + ("Relating_people+", Person), + ("Relating_people_hidden+", Person), + ("followers_abstract", BasePerson), + ("followers_base", BasePerson), + ("followers_concrete", Person), + ("friends_abstract_rel_+", BasePerson), + ("friends_base_rel_+", BasePerson), + ("friends_inherited_rel_+", Person), + ("personthroughproxysubclass", Person), + ("relating_basepeople", BasePerson), + ("relating_baseperson", BasePerson), + ("relating_people", Person), + ("relating_person", Person), + ("relating_proxyperson", Person), + ("relating_proxyperson_hidden+", Person), ), BasePerson: ( - ('+', None), - ('_model_meta_relating_basepeople_hidden_+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_base+', None), - ('BasePerson_following_base+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Relating_basepeople+', None), - ('Relating_basepeople_hidden+', None), - ('followers_abstract', None), - ('followers_base', None), - ('friends_abstract_rel_+', None), - ('friends_base_rel_+', None), - ('person', None), - ('relating_basepeople', None), - ('relating_baseperson', None), + ("+", None), + ("_model_meta_relating_basepeople_hidden_+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_base+", None), + ("BasePerson_following_base+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Relating_basepeople+", None), + ("Relating_basepeople_hidden+", None), + ("followers_abstract", None), + ("followers_base", None), + ("friends_abstract_rel_+", None), + ("friends_base_rel_+", None), + ("person", None), + ("relating_basepeople", None), + ("relating_baseperson", None), ), Relation: ( - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Person_m2m_inherited+', None), - ('fk_abstract_rel', None), - ('fk_base_rel', None), - ('fk_concrete_rel', None), - ('fo_abstract_rel', None), - ('fo_base_rel', None), - ('fo_concrete_rel', None), - ('m2m_abstract_rel', None), - ('m2m_base_rel', None), - ('m2m_concrete_rel', None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Person_m2m_inherited+", None), + ("fk_abstract_rel", None), + ("fk_base_rel", None), + ("fk_concrete_rel", None), + ("fo_abstract_rel", None), + ("fo_base_rel", None), + ("fo_concrete_rel", None), + ("m2m_abstract_rel", None), + ("m2m_base_rel", None), + ("m2m_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_local': { + "get_all_related_objects_with_model_local": { Person: ( - ('followers_concrete', None), - ('personthroughproxysubclass', None), - ('relating_person', None), - ('relating_people', None), - ('relating_proxyperson', None), + ("followers_concrete", None), + ("personthroughproxysubclass", None), + ("relating_person", None), + ("relating_people", None), + ("relating_proxyperson", None), ), ProxyPerson: ( - ('followers_concrete', Person), - ('personthroughproxysubclass', Person), - ('relating_person', Person), - ('relating_people', Person), - ('relating_proxyperson', Person), + ("followers_concrete", Person), + ("personthroughproxysubclass", Person), + ("relating_person", Person), + ("relating_people", Person), + ("relating_proxyperson", Person), ), BasePerson: ( - ('followers_abstract', None), - ('followers_base', None), - ('person', None), - ('relating_baseperson', None), - ('relating_basepeople', None), + ("followers_abstract", None), + ("followers_base", None), + ("person", None), + ("relating_baseperson", None), + ("relating_basepeople", None), ), Relation: ( - ('fk_abstract_rel', None), - ('fo_abstract_rel', None), - ('fk_base_rel', None), - ('fo_base_rel', None), - ('m2m_abstract_rel', None), - ('m2m_base_rel', None), - ('fk_concrete_rel', None), - ('fo_concrete_rel', None), - ('m2m_concrete_rel', None), + ("fk_abstract_rel", None), + ("fo_abstract_rel", None), + ("fk_base_rel", None), + ("fo_base_rel", None), + ("m2m_abstract_rel", None), + ("m2m_base_rel", None), + ("fk_concrete_rel", None), + ("fo_concrete_rel", None), + ("m2m_concrete_rel", None), ), }, - 'get_all_related_objects_with_model': { + "get_all_related_objects_with_model": { Person: ( - ('followers_abstract', BasePerson), - ('followers_base', BasePerson), - ('relating_baseperson', BasePerson), - ('relating_basepeople', BasePerson), - ('followers_concrete', None), - ('personthroughproxysubclass', None), - ('relating_person', None), - ('relating_people', None), - ('relating_proxyperson', None), + ("followers_abstract", BasePerson), + ("followers_base", BasePerson), + ("relating_baseperson", BasePerson), + ("relating_basepeople", BasePerson), + ("followers_concrete", None), + ("personthroughproxysubclass", None), + ("relating_person", None), + ("relating_people", None), + ("relating_proxyperson", None), ), ProxyPerson: ( - ('followers_abstract', BasePerson), - ('followers_base', BasePerson), - ('relating_baseperson', BasePerson), - ('relating_basepeople', BasePerson), - ('followers_concrete', Person), - ('personthroughproxysubclass', Person), - ('relating_person', Person), - ('relating_people', Person), - ('relating_proxyperson', Person), + ("followers_abstract", BasePerson), + ("followers_base", BasePerson), + ("relating_baseperson", BasePerson), + ("relating_basepeople", BasePerson), + ("followers_concrete", Person), + ("personthroughproxysubclass", Person), + ("relating_person", Person), + ("relating_people", Person), + ("relating_proxyperson", Person), ), BasePerson: ( - ('followers_abstract', None), - ('followers_base', None), - ('person', None), - ('relating_baseperson', None), - ('relating_basepeople', None), + ("followers_abstract", None), + ("followers_base", None), + ("person", None), + ("relating_baseperson", None), + ("relating_basepeople", None), ), Relation: ( - ('fk_abstract_rel', None), - ('fo_abstract_rel', None), - ('fk_base_rel', None), - ('fo_base_rel', None), - ('m2m_abstract_rel', None), - ('m2m_base_rel', None), - ('fk_concrete_rel', None), - ('fo_concrete_rel', None), - ('m2m_concrete_rel', None), + ("fk_abstract_rel", None), + ("fo_abstract_rel", None), + ("fk_base_rel", None), + ("fo_base_rel", None), + ("m2m_abstract_rel", None), + ("m2m_base_rel", None), + ("fk_concrete_rel", None), + ("fo_concrete_rel", None), + ("m2m_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_local_legacy': { - Person: ( - ('relating_person', None), - ), - BasePerson: ( - ('person', None), - ('relating_baseperson', None) - ), + "get_all_related_objects_with_model_local_legacy": { + Person: (("relating_person", None),), + BasePerson: (("person", None), ("relating_baseperson", None)), Relation: ( - ('fk_abstract_rel', None), - ('fo_abstract_rel', None), - ('fk_base_rel', None), - ('fo_base_rel', None), - ('fk_concrete_rel', None), - ('fo_concrete_rel', None), + ("fk_abstract_rel", None), + ("fo_abstract_rel", None), + ("fk_base_rel", None), + ("fo_base_rel", None), + ("fk_concrete_rel", None), + ("fo_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_hidden_legacy': { + "get_all_related_objects_with_model_hidden_legacy": { BasePerson: ( - ('+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_base+', None), - ('BasePerson_following_base+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Relating_basepeople+', None), - ('Relating_basepeople_hidden+', None), - ('person', None), - ('relating_baseperson', None), + ("+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_base+", None), + ("BasePerson_following_base+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Relating_basepeople+", None), + ("Relating_basepeople_hidden+", None), + ("person", None), + ("relating_baseperson", None), ), Person: ( - ('+', BasePerson), - ('+', None), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_m2m_abstract+', BasePerson), - ('BasePerson_m2m_base+', BasePerson), - ('Person_following_inherited+', None), - ('Person_following_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_m2m_inherited+', None), - ('Relating_basepeople+', BasePerson), - ('Relating_basepeople_hidden+', BasePerson), - ('Relating_people+', None), - ('Relating_people_hidden+', None), - ('relating_baseperson', BasePerson), - ('relating_person', None), + ("+", BasePerson), + ("+", None), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_m2m_abstract+", BasePerson), + ("BasePerson_m2m_base+", BasePerson), + ("Person_following_inherited+", None), + ("Person_following_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_m2m_inherited+", None), + ("Relating_basepeople+", BasePerson), + ("Relating_basepeople_hidden+", BasePerson), + ("Relating_people+", None), + ("Relating_people_hidden+", None), + ("relating_baseperson", BasePerson), + ("relating_person", None), ), Relation: ( - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Person_m2m_inherited+', None), - ('fk_abstract_rel', None), - ('fk_base_rel', None), - ('fk_concrete_rel', None), - ('fo_abstract_rel', None), - ('fo_base_rel', None), - ('fo_concrete_rel', None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Person_m2m_inherited+", None), + ("fk_abstract_rel", None), + ("fk_base_rel", None), + ("fk_concrete_rel", None), + ("fo_abstract_rel", None), + ("fo_base_rel", None), + ("fo_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_hidden_local_legacy': { + "get_all_related_objects_with_model_hidden_local_legacy": { BasePerson: ( - ('+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_base+', None), - ('BasePerson_following_base+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Relating_basepeople+', None), - ('Relating_basepeople_hidden+', None), - ('person', None), - ('relating_baseperson', None), + ("+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_base+", None), + ("BasePerson_following_base+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Relating_basepeople+", None), + ("Relating_basepeople_hidden+", None), + ("person", None), + ("relating_baseperson", None), ), Person: ( - ('+', None), - ('Person_following_inherited+', None), - ('Person_following_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_m2m_inherited+', None), - ('Relating_people+', None), - ('Relating_people_hidden+', None), - ('relating_person', None), + ("+", None), + ("Person_following_inherited+", None), + ("Person_following_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_m2m_inherited+", None), + ("Relating_people+", None), + ("Relating_people_hidden+", None), + ("relating_person", None), ), Relation: ( - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Person_m2m_inherited+', None), - ('fk_abstract_rel', None), - ('fk_base_rel', None), - ('fk_concrete_rel', None), - ('fo_abstract_rel', None), - ('fo_base_rel', None), - ('fo_concrete_rel', None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Person_m2m_inherited+", None), + ("fk_abstract_rel", None), + ("fk_base_rel", None), + ("fk_concrete_rel", None), + ("fo_abstract_rel", None), + ("fo_base_rel", None), + ("fo_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_proxy_legacy': { + "get_all_related_objects_with_model_proxy_legacy": { BasePerson: ( - ('person', None), - ('relating_baseperson', None), + ("person", None), + ("relating_baseperson", None), ), Person: ( - ('relating_baseperson', BasePerson), - ('relating_person', None), ('relating_proxyperson', None), + ("relating_baseperson", BasePerson), + ("relating_person", None), + ("relating_proxyperson", None), ), Relation: ( - ('fk_abstract_rel', None), ('fo_abstract_rel', None), - ('fk_base_rel', None), ('fo_base_rel', None), - ('fk_concrete_rel', None), ('fo_concrete_rel', None), + ("fk_abstract_rel", None), + ("fo_abstract_rel", None), + ("fk_base_rel", None), + ("fo_base_rel", None), + ("fk_concrete_rel", None), + ("fo_concrete_rel", None), ), }, - 'get_all_related_objects_with_model_proxy_hidden_legacy': { + "get_all_related_objects_with_model_proxy_hidden_legacy": { BasePerson: ( - ('+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_abstract+', None), - ('BasePerson_following_base+', None), - ('BasePerson_following_base+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_abstract+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_friends_base+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Relating_basepeople+', None), - ('Relating_basepeople_hidden+', None), - ('person', None), - ('relating_baseperson', None), + ("+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_abstract+", None), + ("BasePerson_following_base+", None), + ("BasePerson_following_base+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_abstract+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_friends_base+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Relating_basepeople+", None), + ("Relating_basepeople_hidden+", None), + ("person", None), + ("relating_baseperson", None), ), Person: ( - ('+', BasePerson), - ('+', None), - ('+', None), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_abstract+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_following_base+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_abstract+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_friends_base+', BasePerson), - ('BasePerson_m2m_abstract+', BasePerson), - ('BasePerson_m2m_base+', BasePerson), - ('Person_following_inherited+', None), - ('Person_following_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_friends_inherited+', None), - ('Person_m2m_inherited+', None), - ('Relating_basepeople+', BasePerson), - ('Relating_basepeople_hidden+', BasePerson), - ('Relating_people+', None), - ('Relating_people_hidden+', None), - ('relating_baseperson', BasePerson), - ('relating_person', None), - ('relating_proxyperson', None), + ("+", BasePerson), + ("+", None), + ("+", None), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_abstract+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_following_base+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_abstract+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_friends_base+", BasePerson), + ("BasePerson_m2m_abstract+", BasePerson), + ("BasePerson_m2m_base+", BasePerson), + ("Person_following_inherited+", None), + ("Person_following_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_friends_inherited+", None), + ("Person_m2m_inherited+", None), + ("Relating_basepeople+", BasePerson), + ("Relating_basepeople_hidden+", BasePerson), + ("Relating_people+", None), + ("Relating_people_hidden+", None), + ("relating_baseperson", BasePerson), + ("relating_person", None), + ("relating_proxyperson", None), ), Relation: ( - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('+', None), - ('BasePerson_m2m_abstract+', None), - ('BasePerson_m2m_base+', None), - ('Person_m2m_inherited+', None), - ('fk_abstract_rel', None), - ('fk_base_rel', None), - ('fk_concrete_rel', None), - ('fo_abstract_rel', None), - ('fo_base_rel', None), - ('fo_concrete_rel', None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("+", None), + ("BasePerson_m2m_abstract+", None), + ("BasePerson_m2m_base+", None), + ("Person_m2m_inherited+", None), + ("fk_abstract_rel", None), + ("fk_base_rel", None), + ("fk_concrete_rel", None), + ("fo_abstract_rel", None), + ("fo_base_rel", None), + ("fo_concrete_rel", None), ), }, - 'get_all_related_many_to_many_with_model_legacy': { + "get_all_related_many_to_many_with_model_legacy": { BasePerson: ( - ('friends_abstract_rel_+', None), - ('followers_abstract', None), - ('friends_base_rel_+', None), - ('followers_base', None), - ('relating_basepeople', None), - ('_model_meta_relating_basepeople_hidden_+', None), + ("friends_abstract_rel_+", None), + ("followers_abstract", None), + ("friends_base_rel_+", None), + ("followers_base", None), + ("relating_basepeople", None), + ("_model_meta_relating_basepeople_hidden_+", None), ), Person: ( - ('friends_abstract_rel_+', BasePerson), - ('followers_abstract', BasePerson), - ('friends_base_rel_+', BasePerson), - ('followers_base', BasePerson), - ('relating_basepeople', BasePerson), - ('_model_meta_relating_basepeople_hidden_+', BasePerson), - ('friends_inherited_rel_+', None), - ('followers_concrete', None), - ('relating_people', None), - ('_relating_people_hidden_+', None), + ("friends_abstract_rel_+", BasePerson), + ("followers_abstract", BasePerson), + ("friends_base_rel_+", BasePerson), + ("followers_base", BasePerson), + ("relating_basepeople", BasePerson), + ("_model_meta_relating_basepeople_hidden_+", BasePerson), + ("friends_inherited_rel_+", None), + ("followers_concrete", None), + ("relating_people", None), + ("_relating_people_hidden_+", None), ), Relation: ( - ('m2m_abstract_rel', None), - ('m2m_base_rel', None), - ('m2m_concrete_rel', None), + ("m2m_abstract_rel", None), + ("m2m_base_rel", None), + ("m2m_concrete_rel", None), ), }, - 'get_all_related_many_to_many_local_legacy': { + "get_all_related_many_to_many_local_legacy": { BasePerson: [ - 'friends_abstract_rel_+', - 'followers_abstract', - 'friends_base_rel_+', - 'followers_base', - 'relating_basepeople', - '_model_meta_relating_basepeople_hidden_+', + "friends_abstract_rel_+", + "followers_abstract", + "friends_base_rel_+", + "followers_base", + "relating_basepeople", + "_model_meta_relating_basepeople_hidden_+", ], Person: [ - 'friends_inherited_rel_+', - 'followers_concrete', - 'relating_people', - '_relating_people_hidden_+', + "friends_inherited_rel_+", + "followers_concrete", + "relating_people", + "_relating_people_hidden_+", ], Relation: [ - 'm2m_abstract_rel', - 'm2m_base_rel', - 'm2m_concrete_rel', + "m2m_abstract_rel", + "m2m_base_rel", + "m2m_concrete_rel", ], }, - 'private_fields': { + "private_fields": { AbstractPerson: [ - 'generic_relation_abstract', - 'content_object_abstract', + "generic_relation_abstract", + "content_object_abstract", ], BasePerson: [ - 'generic_relation_base', - 'content_object_base', - 'generic_relation_abstract', - 'content_object_abstract', + "generic_relation_base", + "content_object_base", + "generic_relation_abstract", + "content_object_abstract", ], Person: [ - 'content_object_concrete', - 'generic_relation_concrete', - 'generic_relation_base', - 'content_object_base', - 'generic_relation_abstract', - 'content_object_abstract', + "content_object_concrete", + "generic_relation_concrete", + "generic_relation_base", + "content_object_base", + "generic_relation_abstract", + "content_object_abstract", ], }, - 'labels': { - AbstractPerson: 'model_meta.AbstractPerson', - BasePerson: 'model_meta.BasePerson', - Person: 'model_meta.Person', - Relating: 'model_meta.Relating', + "labels": { + AbstractPerson: "model_meta.AbstractPerson", + BasePerson: "model_meta.BasePerson", + Person: "model_meta.Person", + Relating: "model_meta.Relating", }, - 'lower_labels': { - AbstractPerson: 'model_meta.abstractperson', - BasePerson: 'model_meta.baseperson', - Person: 'model_meta.person', - Relating: 'model_meta.relating', + "lower_labels": { + AbstractPerson: "model_meta.abstractperson", + BasePerson: "model_meta.baseperson", + Person: "model_meta.person", + Relating: "model_meta.relating", }, } diff --git a/tests/model_meta/tests.py b/tests/model_meta/tests.py index b3d469a903..fe2f6e63da 100644 --- a/tests/model_meta/tests.py +++ b/tests/model_meta/tests.py @@ -1,23 +1,26 @@ from django.apps import apps -from django.contrib.contenttypes.fields import ( - GenericForeignKey, GenericRelation, -) +from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation from django.core.exceptions import FieldDoesNotExist -from django.db.models import ( - CharField, Field, ForeignObjectRel, ManyToManyField, -) +from django.db.models import CharField, Field, ForeignObjectRel, ManyToManyField from django.db.models.options import EMPTY_RELATION_TREE, IMMUTABLE_WARNING from django.test import SimpleTestCase from .models import ( - AbstractPerson, BasePerson, Child, CommonAncestor, FirstParent, Person, - ProxyPerson, Relating, Relation, SecondParent, + AbstractPerson, + BasePerson, + Child, + CommonAncestor, + FirstParent, + Person, + ProxyPerson, + Relating, + Relation, + SecondParent, ) from .results import TEST_RESULTS class OptionsBaseTests(SimpleTestCase): - def _map_related_query_names(self, res): return tuple((o.name, m) for o, m in res) @@ -35,11 +38,15 @@ class OptionsBaseTests(SimpleTestCase): model = None field = relation if direct else relation.field - return relation, model, direct, bool(field.many_to_many) # many_to_many can be None + return ( + relation, + model, + direct, + bool(field.many_to_many), + ) # many_to_many can be None class GetFieldsTests(OptionsBaseTests): - def test_get_fields_is_immutable(self): msg = IMMUTABLE_WARNING % "get_fields()" for _ in range(2): @@ -51,20 +58,18 @@ class GetFieldsTests(OptionsBaseTests): class LabelTests(OptionsBaseTests): - def test_label(self): - for model, expected_result in TEST_RESULTS['labels'].items(): + for model, expected_result in TEST_RESULTS["labels"].items(): self.assertEqual(model._meta.label, expected_result) def test_label_lower(self): - for model, expected_result in TEST_RESULTS['lower_labels'].items(): + for model, expected_result in TEST_RESULTS["lower_labels"].items(): self.assertEqual(model._meta.label_lower, expected_result) class DataTests(OptionsBaseTests): - def test_fields(self): - for model, expected_result in TEST_RESULTS['fields'].items(): + for model, expected_result in TEST_RESULTS["fields"].items(): fields = model._meta.fields self.assertEqual([f.attname for f in fields], expected_result) @@ -72,7 +77,7 @@ class DataTests(OptionsBaseTests): def is_data_field(f): return isinstance(f, Field) and not f.many_to_many - for model, expected_result in TEST_RESULTS['local_fields'].items(): + for model, expected_result in TEST_RESULTS["local_fields"].items(): fields = model._meta.local_fields self.assertEqual([f.attname for f in fields], expected_result) for f in fields: @@ -80,7 +85,7 @@ class DataTests(OptionsBaseTests): self.assertTrue(is_data_field(f)) def test_local_concrete_fields(self): - for model, expected_result in TEST_RESULTS['local_concrete_fields'].items(): + for model, expected_result in TEST_RESULTS["local_concrete_fields"].items(): fields = model._meta.local_concrete_fields self.assertEqual([f.attname for f in fields], expected_result) for f in fields: @@ -88,16 +93,15 @@ class DataTests(OptionsBaseTests): class M2MTests(OptionsBaseTests): - def test_many_to_many(self): - for model, expected_result in TEST_RESULTS['many_to_many'].items(): + for model, expected_result in TEST_RESULTS["many_to_many"].items(): fields = model._meta.many_to_many self.assertEqual([f.attname for f in fields], expected_result) for f in fields: self.assertTrue(f.many_to_many and f.is_relation) def test_many_to_many_with_model(self): - for model, expected_result in TEST_RESULTS['many_to_many_with_model'].items(): + for model, expected_result in TEST_RESULTS["many_to_many_with_model"].items(): models = [self._model(model, field) for field in model._meta.many_to_many] self.assertEqual(models, expected_result) @@ -107,7 +111,7 @@ class RelatedObjectsTests(OptionsBaseTests): return r[0] def test_related_objects(self): - result_key = 'get_all_related_objects_with_model' + result_key = "get_all_related_objects_with_model" for model, expected in TEST_RESULTS[result_key].items(): objects = [ (field, self._model(model, field)) @@ -120,7 +124,7 @@ class RelatedObjectsTests(OptionsBaseTests): ) def test_related_objects_local(self): - result_key = 'get_all_related_objects_with_model_local' + result_key = "get_all_related_objects_with_model_local" for model, expected in TEST_RESULTS[result_key].items(): objects = [ (field, self._model(model, field)) @@ -133,7 +137,7 @@ class RelatedObjectsTests(OptionsBaseTests): ) def test_related_objects_include_hidden(self): - result_key = 'get_all_related_objects_with_model_hidden' + result_key = "get_all_related_objects_with_model_hidden" for model, expected in TEST_RESULTS[result_key].items(): objects = [ (field, self._model(model, field)) @@ -142,55 +146,59 @@ class RelatedObjectsTests(OptionsBaseTests): ] self.assertEqual( sorted(self._map_names(objects), key=self.key_name), - sorted(expected, key=self.key_name) + sorted(expected, key=self.key_name), ) def test_related_objects_include_hidden_local_only(self): - result_key = 'get_all_related_objects_with_model_hidden_local' + result_key = "get_all_related_objects_with_model_hidden_local" for model, expected in TEST_RESULTS[result_key].items(): objects = [ (field, self._model(model, field)) - for field in model._meta.get_fields(include_hidden=True, include_parents=False) + for field in model._meta.get_fields( + include_hidden=True, include_parents=False + ) if field.auto_created and not field.concrete ] self.assertEqual( sorted(self._map_names(objects), key=self.key_name), - sorted(expected, key=self.key_name) + sorted(expected, key=self.key_name), ) class PrivateFieldsTests(OptionsBaseTests): - def test_private_fields(self): - for model, expected_names in TEST_RESULTS['private_fields'].items(): + for model, expected_names in TEST_RESULTS["private_fields"].items(): objects = model._meta.private_fields self.assertEqual(sorted(f.name for f in objects), sorted(expected_names)) class GetFieldByNameTests(OptionsBaseTests): - def test_get_data_field(self): - field_info = self._details(Person, Person._meta.get_field('data_abstract')) + field_info = self._details(Person, Person._meta.get_field("data_abstract")) self.assertEqual(field_info[1:], (BasePerson, True, False)) self.assertIsInstance(field_info[0], CharField) def test_get_m2m_field(self): - field_info = self._details(Person, Person._meta.get_field('m2m_base')) + field_info = self._details(Person, Person._meta.get_field("m2m_base")) self.assertEqual(field_info[1:], (BasePerson, True, True)) self.assertIsInstance(field_info[0], ManyToManyField) def test_get_related_object(self): - field_info = self._details(Person, Person._meta.get_field('relating_baseperson')) + field_info = self._details( + Person, Person._meta.get_field("relating_baseperson") + ) self.assertEqual(field_info[1:], (BasePerson, False, False)) self.assertIsInstance(field_info[0], ForeignObjectRel) def test_get_related_m2m(self): - field_info = self._details(Person, Person._meta.get_field('relating_people')) + field_info = self._details(Person, Person._meta.get_field("relating_people")) self.assertEqual(field_info[1:], (None, False, True)) self.assertIsInstance(field_info[0], ForeignObjectRel) def test_get_generic_relation(self): - field_info = self._details(Person, Person._meta.get_field('generic_relation_base')) + field_info = self._details( + Person, Person._meta.get_field("generic_relation_base") + ) self.assertEqual(field_info[1:], (None, True, False)) self.assertIsInstance(field_info[0], GenericRelation) @@ -201,7 +209,7 @@ class GetFieldByNameTests(OptionsBaseTests): opts.apps.models_ready = False try: # 'data_abstract' is a forward field, and therefore will be found - self.assertTrue(opts.get_field('data_abstract')) + self.assertTrue(opts.get_field("data_abstract")) msg = ( "Person has no field named 'relating_baseperson'. The app " "cache isn't ready yet, so if this is an auto-created related " @@ -209,7 +217,7 @@ class GetFieldByNameTests(OptionsBaseTests): ) # 'data_abstract' is a reverse field, and will raise an exception with self.assertRaisesMessage(FieldDoesNotExist, msg): - opts.get_field('relating_baseperson') + opts.get_field("relating_baseperson") finally: opts.apps.models_ready = True @@ -226,7 +234,7 @@ class RelationTreeTests(SimpleTestCase): # and have no cache. all_models_with_cache = (m for m in self.all_models if not m._meta.abstract) for m in all_models_with_cache: - self.assertNotIn('_relation_tree', m._meta.__dict__) + self.assertNotIn("_relation_tree", m._meta.__dict__) def test_first_relation_tree_access_populates_all(self): # On first access, relation tree should have populated cache. @@ -238,34 +246,72 @@ class RelationTreeTests(SimpleTestCase): # All the other models should already have their relation tree # in the internal __dict__ . - all_models_but_abstractperson = (m for m in self.all_models if m is not AbstractPerson) + all_models_but_abstractperson = ( + m for m in self.all_models if m is not AbstractPerson + ) for m in all_models_but_abstractperson: - self.assertIn('_relation_tree', m._meta.__dict__) + self.assertIn("_relation_tree", m._meta.__dict__) def test_relations_related_objects(self): # Testing non hidden related objects self.assertEqual( - sorted(field.related_query_name() for field in Relation._meta._relation_tree - if not field.remote_field.field.remote_field.is_hidden()), - sorted([ - 'fk_abstract_rel', 'fk_base_rel', 'fk_concrete_rel', 'fo_abstract_rel', - 'fo_base_rel', 'fo_concrete_rel', 'm2m_abstract_rel', - 'm2m_base_rel', 'm2m_concrete_rel' - ]) + sorted( + field.related_query_name() + for field in Relation._meta._relation_tree + if not field.remote_field.field.remote_field.is_hidden() + ), + sorted( + [ + "fk_abstract_rel", + "fk_base_rel", + "fk_concrete_rel", + "fo_abstract_rel", + "fo_base_rel", + "fo_concrete_rel", + "m2m_abstract_rel", + "m2m_base_rel", + "m2m_concrete_rel", + ] + ), ) # Testing hidden related objects self.assertEqual( - sorted(field.related_query_name() for field in BasePerson._meta._relation_tree), - sorted([ - '+', '_model_meta_relating_basepeople_hidden_+', 'BasePerson_following_abstract+', - 'BasePerson_following_abstract+', 'BasePerson_following_base+', 'BasePerson_following_base+', - 'BasePerson_friends_abstract+', 'BasePerson_friends_abstract+', 'BasePerson_friends_base+', - 'BasePerson_friends_base+', 'BasePerson_m2m_abstract+', 'BasePerson_m2m_base+', 'Relating_basepeople+', - 'Relating_basepeople_hidden+', 'followers_abstract', 'followers_base', 'friends_abstract_rel_+', - 'friends_base_rel_+', 'person', 'relating_basepeople', 'relating_baseperson', - ]) + sorted( + field.related_query_name() for field in BasePerson._meta._relation_tree + ), + sorted( + [ + "+", + "_model_meta_relating_basepeople_hidden_+", + "BasePerson_following_abstract+", + "BasePerson_following_abstract+", + "BasePerson_following_base+", + "BasePerson_following_base+", + "BasePerson_friends_abstract+", + "BasePerson_friends_abstract+", + "BasePerson_friends_base+", + "BasePerson_friends_base+", + "BasePerson_m2m_abstract+", + "BasePerson_m2m_base+", + "Relating_basepeople+", + "Relating_basepeople_hidden+", + "followers_abstract", + "followers_base", + "friends_abstract_rel_+", + "friends_base_rel_+", + "person", + "relating_basepeople", + "relating_baseperson", + ] + ), + ) + self.assertEqual( + [ + field.related_query_name() + for field in AbstractPerson._meta._relation_tree + ], + [], ) - self.assertEqual([field.related_query_name() for field in AbstractPerson._meta._relation_tree], []) class ParentListTests(SimpleTestCase): @@ -273,16 +319,20 @@ class ParentListTests(SimpleTestCase): self.assertEqual(CommonAncestor._meta.get_parent_list(), []) self.assertEqual(FirstParent._meta.get_parent_list(), [CommonAncestor]) self.assertEqual(SecondParent._meta.get_parent_list(), [CommonAncestor]) - self.assertEqual(Child._meta.get_parent_list(), [FirstParent, SecondParent, CommonAncestor]) + self.assertEqual( + Child._meta.get_parent_list(), [FirstParent, SecondParent, CommonAncestor] + ) class PropertyNamesTests(SimpleTestCase): def test_person(self): # Instance only descriptors don't appear in _property_names. self.assertEqual(BasePerson().test_instance_only_descriptor, 1) - with self.assertRaisesMessage(AttributeError, 'Instance only'): + with self.assertRaisesMessage(AttributeError, "Instance only"): AbstractPerson.test_instance_only_descriptor - self.assertEqual(AbstractPerson._meta._property_names, frozenset(['pk', 'test_property'])) + self.assertEqual( + AbstractPerson._meta._property_names, frozenset(["pk", "test_property"]) + ) class ReturningFieldsTests(SimpleTestCase): @@ -292,6 +342,6 @@ class ReturningFieldsTests(SimpleTestCase): class AbstractModelTests(SimpleTestCase): def test_abstract_model_not_instantiated(self): - msg = 'Abstract models cannot be instantiated.' + msg = "Abstract models cannot be instantiated." with self.assertRaisesMessage(TypeError, msg): AbstractPerson() |
