summaryrefslogtreecommitdiff
path: root/tests/foreign_object/models
diff options
context:
space:
mode:
authordjango-bot <ops@djangoproject.com>2022-02-03 20:24:19 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-02-07 20:37:05 +0100
commit9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch)
treef0506b668a013d0063e5fba3dbf4863b466713ba /tests/foreign_object/models
parentf68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff)
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/foreign_object/models')
-rw-r--r--tests/foreign_object/models/__init__.py21
-rw-r--r--tests/foreign_object/models/article.py36
-rw-r--r--tests/foreign_object/models/customers.py20
-rw-r--r--tests/foreign_object/models/empty_join.py63
-rw-r--r--tests/foreign_object/models/person.py48
5 files changed, 107 insertions, 81 deletions
diff --git a/tests/foreign_object/models/__init__.py b/tests/foreign_object/models/__init__.py
index 652a2a30a1..69778d3ddd 100644
--- a/tests/foreign_object/models/__init__.py
+++ b/tests/foreign_object/models/__init__.py
@@ -1,12 +1,21 @@
-from .article import (
- Article, ArticleIdea, ArticleTag, ArticleTranslation, NewsArticle,
-)
+from .article import Article, ArticleIdea, ArticleTag, ArticleTranslation, NewsArticle
from .customers import Address, Contact, Customer
from .empty_join import SlugPage
from .person import Country, Friendship, Group, Membership, Person
__all__ = [
- 'Address', 'Article', 'ArticleIdea', 'ArticleTag', 'ArticleTranslation',
- 'Contact', 'Country', 'Customer', 'Friendship', 'Group', 'Membership',
- 'NewsArticle', 'Person', 'SlugPage',
+ "Address",
+ "Article",
+ "ArticleIdea",
+ "ArticleTag",
+ "ArticleTranslation",
+ "Contact",
+ "Country",
+ "Customer",
+ "Friendship",
+ "Group",
+ "Membership",
+ "NewsArticle",
+ "Person",
+ "SlugPage",
]
diff --git a/tests/foreign_object/models/article.py b/tests/foreign_object/models/article.py
index a892ce299d..dedeb8fb2d 100644
--- a/tests/foreign_object/models/article.py
+++ b/tests/foreign_object/models/article.py
@@ -7,6 +7,7 @@ class ArticleTranslationDescriptor(ForwardManyToOneDescriptor):
"""
The set of articletranslation should not set any local fields.
"""
+
def __set__(self, instance, value):
if instance is None:
raise AttributeError("%s must be accessed via instance" % self.field.name)
@@ -22,7 +23,7 @@ class ColConstraint:
def as_sql(self, compiler, connection):
qn = compiler.quote_name_unless_alias
- return '%s.%s = %%s' % (qn(self.alias), qn(self.col)), [self.value]
+ return "%s.%s = %%s" % (qn(self.alias), qn(self.col)), [self.value]
class ActiveTranslationField(models.ForeignObject):
@@ -30,13 +31,14 @@ class ActiveTranslationField(models.ForeignObject):
This field will allow querying and fetching the currently active translation
for Article from ArticleTranslation.
"""
+
requires_unique_target = False
def get_extra_restriction(self, alias, related_alias):
- return ColConstraint(alias, 'lang', get_language())
+ return ColConstraint(alias, "lang", get_language())
def get_extra_descriptor_filter(self, instance):
- return {'lang': get_language()}
+ return {"lang": get_language()}
def contribute_to_class(self, cls, name):
super().contribute_to_class(cls, name)
@@ -50,18 +52,18 @@ class ActiveTranslationFieldWithQ(ActiveTranslationField):
class Article(models.Model):
active_translation = ActiveTranslationField(
- 'ArticleTranslation',
- from_fields=['id'],
- to_fields=['article'],
- related_name='+',
+ "ArticleTranslation",
+ from_fields=["id"],
+ to_fields=["article"],
+ related_name="+",
on_delete=models.CASCADE,
null=True,
)
active_translation_q = ActiveTranslationFieldWithQ(
- 'ArticleTranslation',
- from_fields=['id'],
- to_fields=['article'],
- related_name='+',
+ "ArticleTranslation",
+ from_fields=["id"],
+ to_fields=["article"],
+ related_name="+",
on_delete=models.CASCADE,
null=True,
)
@@ -71,7 +73,7 @@ class Article(models.Model):
try:
return self.active_translation.title
except ArticleTranslation.DoesNotExist:
- return '[No translation found]'
+ return "[No translation found]"
class NewsArticle(Article):
@@ -86,15 +88,15 @@ class ArticleTranslation(models.Model):
abstract = models.TextField(null=True)
class Meta:
- unique_together = ('article', 'lang')
+ unique_together = ("article", "lang")
class ArticleTag(models.Model):
article = models.ForeignKey(
Article,
models.CASCADE,
- related_name='tags',
- related_query_name='tag',
+ related_name="tags",
+ related_query_name="tag",
)
name = models.CharField(max_length=255)
@@ -102,7 +104,7 @@ class ArticleTag(models.Model):
class ArticleIdea(models.Model):
articles = models.ManyToManyField(
Article,
- related_name='ideas',
- related_query_name='idea_things',
+ related_name="ideas",
+ related_query_name="idea_things",
)
name = models.CharField(max_length=255)
diff --git a/tests/foreign_object/models/customers.py b/tests/foreign_object/models/customers.py
index 7e1a3ac370..91ac091524 100644
--- a/tests/foreign_object/models/customers.py
+++ b/tests/foreign_object/models/customers.py
@@ -7,7 +7,7 @@ class Address(models.Model):
class Meta:
unique_together = [
- ('company', 'customer_id'),
+ ("company", "customer_id"),
]
@@ -15,15 +15,17 @@ class Customer(models.Model):
company = models.CharField(max_length=1)
customer_id = models.IntegerField()
address = models.ForeignObject(
- Address, models.CASCADE, null=True,
+ Address,
+ models.CASCADE,
+ null=True,
# order mismatches the Contact ForeignObject.
- from_fields=['company', 'customer_id'],
- to_fields=['company', 'customer_id'],
+ from_fields=["company", "customer_id"],
+ to_fields=["company", "customer_id"],
)
class Meta:
unique_together = [
- ('company', 'customer_id'),
+ ("company", "customer_id"),
]
@@ -31,7 +33,9 @@ class Contact(models.Model):
company_code = models.CharField(max_length=1)
customer_code = models.IntegerField()
customer = models.ForeignObject(
- Customer, models.CASCADE, related_name='contacts',
- to_fields=['customer_id', 'company'],
- from_fields=['customer_code', 'company_code'],
+ Customer,
+ models.CASCADE,
+ related_name="contacts",
+ to_fields=["customer_id", "company"],
+ from_fields=["customer_code", "company_code"],
)
diff --git a/tests/foreign_object/models/empty_join.py b/tests/foreign_object/models/empty_join.py
index da151ae8e7..9c0ada378c 100644
--- a/tests/foreign_object/models/empty_join.py
+++ b/tests/foreign_object/models/empty_join.py
@@ -9,6 +9,7 @@ class CustomForeignObjectRel(models.ForeignObjectRel):
Define some extra Field methods so this Rel acts more like a Field, which
lets us use ReverseManyToOneDescriptor in both directions.
"""
+
@property
def foreign_related_fields(self):
return tuple(lhs_field for lhs_field, rhs_field in self.field.related_fields)
@@ -23,6 +24,7 @@ class StartsWithRelation(models.ForeignObject):
the default equality operator. This is logically a many-to-many relation
and creates a ReverseManyToOneDescriptor in both directions.
"""
+
auto_created = False
many_to_many = False
@@ -33,7 +35,7 @@ class StartsWithRelation(models.ForeignObject):
rel_class = CustomForeignObjectRel
def __init__(self, *args, **kwargs):
- kwargs['on_delete'] = models.DO_NOTHING
+ kwargs["on_delete"] = models.DO_NOTHING
super().__init__(*args, **kwargs)
@property
@@ -54,28 +56,32 @@ class StartsWithRelation(models.ForeignObject):
def get_path_info(self, filtered_relation=None):
to_opts = self.remote_field.model._meta
from_opts = self.model._meta
- return [PathInfo(
- from_opts=from_opts,
- to_opts=to_opts,
- target_fields=(to_opts.pk,),
- join_field=self,
- m2m=False,
- direct=False,
- filtered_relation=filtered_relation,
- )]
+ return [
+ PathInfo(
+ from_opts=from_opts,
+ to_opts=to_opts,
+ target_fields=(to_opts.pk,),
+ join_field=self,
+ m2m=False,
+ direct=False,
+ filtered_relation=filtered_relation,
+ )
+ ]
def get_reverse_path_info(self, filtered_relation=None):
to_opts = self.model._meta
from_opts = self.remote_field.model._meta
- return [PathInfo(
- from_opts=from_opts,
- to_opts=to_opts,
- target_fields=(to_opts.pk,),
- join_field=self.remote_field,
- m2m=False,
- direct=False,
- filtered_relation=filtered_relation,
- )]
+ return [
+ PathInfo(
+ from_opts=from_opts,
+ to_opts=to_opts,
+ target_fields=(to_opts.pk,),
+ join_field=self.remote_field,
+ m2m=False,
+ direct=False,
+ filtered_relation=filtered_relation,
+ )
+ ]
def contribute_to_class(self, cls, name, private_only=False):
super().contribute_to_class(cls, name, private_only)
@@ -87,6 +93,7 @@ class BrokenContainsRelation(StartsWithRelation):
This model is designed to yield no join conditions and
raise an exception in ``Join.as_sql()``.
"""
+
def get_extra_restriction(self, alias, related_alias):
return None
@@ -94,19 +101,19 @@ class BrokenContainsRelation(StartsWithRelation):
class SlugPage(models.Model):
slug = models.CharField(max_length=20, unique=True)
descendants = StartsWithRelation(
- 'self',
- from_fields=['slug'],
- to_fields=['slug'],
- related_name='ascendants',
+ "self",
+ from_fields=["slug"],
+ to_fields=["slug"],
+ related_name="ascendants",
)
containers = BrokenContainsRelation(
- 'self',
- from_fields=['slug'],
- to_fields=['slug'],
+ "self",
+ from_fields=["slug"],
+ to_fields=["slug"],
)
class Meta:
- ordering = ['slug']
+ ordering = ["slug"]
def __str__(self):
- return 'SlugPage %s' % self.slug
+ return "SlugPage %s" % self.slug
diff --git a/tests/foreign_object/models/person.py b/tests/foreign_object/models/person.py
index cd04d1eeda..33063e728a 100644
--- a/tests/foreign_object/models/person.py
+++ b/tests/foreign_object/models/person.py
@@ -19,14 +19,14 @@ class Person(models.Model):
# Relation Fields
person_country = models.ForeignObject(
Country,
- from_fields=['person_country_id'],
- to_fields=['id'],
+ from_fields=["person_country_id"],
+ to_fields=["id"],
on_delete=models.CASCADE,
)
- friends = models.ManyToManyField('self', through='Friendship', symmetrical=False)
+ friends = models.ManyToManyField("self", through="Friendship", symmetrical=False)
class Meta:
- ordering = ('name',)
+ ordering = ("name",)
def __str__(self):
return self.name
@@ -36,10 +36,12 @@ class Group(models.Model):
# Table Column Fields
name = models.CharField(max_length=128)
group_country = models.ForeignKey(Country, models.CASCADE)
- members = models.ManyToManyField(Person, related_name='groups', through='Membership')
+ members = models.ManyToManyField(
+ Person, related_name="groups", through="Membership"
+ )
class Meta:
- ordering = ('name',)
+ ordering = ("name",)
def __str__(self):
return self.name
@@ -56,28 +58,30 @@ class Membership(models.Model):
# Relation Fields
person = models.ForeignObject(
Person,
- from_fields=['person_id', 'membership_country'],
- to_fields=['id', 'person_country_id'],
+ from_fields=["person_id", "membership_country"],
+ to_fields=["id", "person_country_id"],
on_delete=models.CASCADE,
)
group = models.ForeignObject(
Group,
- from_fields=['group_id', 'membership_country'],
- to_fields=['id', 'group_country'],
+ from_fields=["group_id", "membership_country"],
+ to_fields=["id", "group_country"],
on_delete=models.CASCADE,
)
class Meta:
- ordering = ('date_joined', 'invite_reason')
+ ordering = ("date_joined", "invite_reason")
def __str__(self):
- group_name = self.group.name if self.group_id else 'NULL'
+ group_name = self.group.name if self.group_id else "NULL"
return "%s is a member of %s" % (self.person.name, group_name)
class Friendship(models.Model):
# Table Column Fields
- from_friend_country = models.ForeignKey(Country, models.CASCADE, related_name="from_friend_country")
+ from_friend_country = models.ForeignKey(
+ Country, models.CASCADE, related_name="from_friend_country"
+ )
from_friend_id = models.IntegerField()
to_friend_country_id = models.IntegerField()
to_friend_id = models.IntegerField()
@@ -86,23 +90,23 @@ class Friendship(models.Model):
from_friend = models.ForeignObject(
Person,
on_delete=models.CASCADE,
- from_fields=['from_friend_country', 'from_friend_id'],
- to_fields=['person_country_id', 'id'],
- related_name='from_friend',
+ from_fields=["from_friend_country", "from_friend_id"],
+ to_fields=["person_country_id", "id"],
+ related_name="from_friend",
)
to_friend_country = models.ForeignObject(
Country,
- from_fields=['to_friend_country_id'],
- to_fields=['id'],
- related_name='to_friend_country',
+ from_fields=["to_friend_country_id"],
+ to_fields=["id"],
+ related_name="to_friend_country",
on_delete=models.CASCADE,
)
to_friend = models.ForeignObject(
Person,
- from_fields=['to_friend_country_id', 'to_friend_id'],
- to_fields=['person_country_id', 'id'],
- related_name='to_friend',
+ from_fields=["to_friend_country_id", "to_friend_id"],
+ to_fields=["person_country_id", "id"],
+ related_name="to_friend",
on_delete=models.CASCADE,
)