diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-08 12:09:55 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-08 12:15:38 +0100 |
| commit | 6a682b38e75d4c975b4c4493565a59f1bc14397c (patch) | |
| tree | 0bd9cda550bea26238656d9f120d769e8b41bb9e /tests/admin_views/models.py | |
| parent | e73ce08888e6f34d3f050377cfd2fbb733be94a9 (diff) | |
[4.0.x] Refs #33476 -- Reformatted code with Black.
Backport of 9c19aff7c7561e3a82978a272ecdaad40dda5c00 from main.
Diffstat (limited to 'tests/admin_views/models.py')
| -rw-r--r-- | tests/admin_views/models.py | 230 |
1 files changed, 134 insertions, 96 deletions
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py index 73459e2995..7cf0e7af81 100644 --- a/tests/admin_views/models.py +++ b/tests/admin_views/models.py @@ -4,9 +4,7 @@ import uuid from django.contrib import admin from django.contrib.auth.models import User -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.core.exceptions import ValidationError from django.core.files.storage import FileSystemStorage @@ -18,6 +16,7 @@ class Section(models.Model): A simple section that links to articles, to test linking to related items in admin views. """ + name = models.CharField(max_length=100) def __str__(self): @@ -35,26 +34,31 @@ class Article(models.Model): """ A simple article to test admin views. Test backwards compatibility. """ + title = models.CharField(max_length=100) content = models.TextField() date = models.DateTimeField() section = models.ForeignKey(Section, models.CASCADE, null=True, blank=True) - another_section = models.ForeignKey(Section, models.CASCADE, null=True, blank=True, related_name='+') - sub_section = models.ForeignKey(Section, models.SET_NULL, null=True, blank=True, related_name='+') + another_section = models.ForeignKey( + Section, models.CASCADE, null=True, blank=True, related_name="+" + ) + sub_section = models.ForeignKey( + Section, models.SET_NULL, null=True, blank=True, related_name="+" + ) def __str__(self): return self.title - @admin.display(ordering='date', description='') + @admin.display(ordering="date", description="") def model_year(self): return self.date.year - @admin.display(ordering='-date', description='') + @admin.display(ordering="-date", description="") def model_year_reversed(self): return self.date.year @property - @admin.display(ordering='date') + @admin.display(ordering="date") def model_property_year(self): return self.date.year @@ -67,14 +71,15 @@ class Book(models.Model): """ A simple book that has chapters. """ - name = models.CharField(max_length=100, verbose_name='¿Name?') + + name = models.CharField(max_length=100, verbose_name="¿Name?") def __str__(self): return self.name class Promo(models.Model): - name = models.CharField(max_length=100, verbose_name='¿Name?') + name = models.CharField(max_length=100, verbose_name="¿Name?") book = models.ForeignKey(Book, models.CASCADE) author = models.ForeignKey(User, models.SET_NULL, blank=True, null=True) @@ -83,33 +88,33 @@ class Promo(models.Model): class Chapter(models.Model): - title = models.CharField(max_length=100, verbose_name='¿Title?') + title = models.CharField(max_length=100, verbose_name="¿Title?") content = models.TextField() book = models.ForeignKey(Book, models.CASCADE) class Meta: # Use a utf-8 bytestring to ensure it works (see #11710) - verbose_name = '¿Chapter?' + verbose_name = "¿Chapter?" def __str__(self): return self.title class ChapterXtra1(models.Model): - chap = models.OneToOneField(Chapter, models.CASCADE, verbose_name='¿Chap?') - xtra = models.CharField(max_length=100, verbose_name='¿Xtra?') + chap = models.OneToOneField(Chapter, models.CASCADE, verbose_name="¿Chap?") + xtra = models.CharField(max_length=100, verbose_name="¿Xtra?") guest_author = models.ForeignKey(User, models.SET_NULL, blank=True, null=True) def __str__(self): - return '¿Xtra1: %s' % self.xtra + return "¿Xtra1: %s" % self.xtra class ChapterXtra2(models.Model): - chap = models.OneToOneField(Chapter, models.CASCADE, verbose_name='¿Chap?') - xtra = models.CharField(max_length=100, verbose_name='¿Xtra?') + chap = models.OneToOneField(Chapter, models.CASCADE, verbose_name="¿Chap?") + xtra = models.CharField(max_length=100, verbose_name="¿Xtra?") def __str__(self): - return '¿Xtra2: %s' % self.xtra + return "¿Xtra2: %s" % self.xtra class RowLevelChangePermissionModel(models.Model): @@ -128,7 +133,7 @@ class ModelWithStringPrimaryKey(models.Model): return self.string_pk def get_absolute_url(self): - return '/dummy/%s/' % self.string_pk + return "/dummy/%s/" % self.string_pk class Color(models.Model): @@ -147,7 +152,7 @@ class Color2(Color): class Thing(models.Model): title = models.CharField(max_length=20) - color = models.ForeignKey(Color, models.CASCADE, limit_choices_to={'warm': True}) + color = models.ForeignKey(Color, models.CASCADE, limit_choices_to={"warm": True}) pub_date = models.DateField(blank=True, null=True) def __str__(self): @@ -178,22 +183,22 @@ class Sketch(models.Model): Inquisition, models.CASCADE, limit_choices_to={ - 'leader__name': 'Palin', - 'leader__age': 27, - 'expected': False, + "leader__name": "Palin", + "leader__age": 27, + "expected": False, }, ) defendant0 = models.ForeignKey( Actor, models.CASCADE, - limit_choices_to={'title__isnull': False}, - related_name='as_defendant0', + limit_choices_to={"title__isnull": False}, + related_name="as_defendant0", ) defendant1 = models.ForeignKey( Actor, models.CASCADE, - limit_choices_to={'title__isnull': True}, - related_name='as_defendant1', + limit_choices_to={"title__isnull": True}, + related_name="as_defendant1", ) def __str__(self): @@ -224,7 +229,9 @@ class StumpJoke(models.Model): limit_choices_to=today_callable_dict, related_name="+", ) - has_fooled_today = models.ManyToManyField(Character, limit_choices_to=today_callable_q, related_name="+") + has_fooled_today = models.ManyToManyField( + Character, limit_choices_to=today_callable_q, related_name="+" + ) def __str__(self): return self.variation @@ -232,11 +239,14 @@ class StumpJoke(models.Model): class Fabric(models.Model): NG_CHOICES = ( - ('Textured', ( - ('x', 'Horizontal'), - ('y', 'Vertical'), - )), - ('plain', 'Smooth'), + ( + "Textured", + ( + ("x", "Horizontal"), + ("y", "Vertical"), + ), + ), + ("plain", "Smooth"), ) surface = models.CharField(max_length=20, choices=NG_CHOICES) @@ -260,6 +270,7 @@ class Persona(models.Model): A simple persona associated with accounts, to test inlining of related accounts which inherit from a common accounts class. """ + name = models.CharField(blank=False, max_length=80) def __str__(self): @@ -271,9 +282,10 @@ class Account(models.Model): A simple, generic account encapsulating the information shared by all types of accounts. """ + username = models.CharField(blank=False, max_length=80) persona = models.ForeignKey(Persona, models.CASCADE, related_name="accounts") - servicename = 'generic service' + servicename = "generic service" def __str__(self): return "%s: %s" % (self.servicename, self.username) @@ -281,12 +293,14 @@ class Account(models.Model): class FooAccount(Account): """A service-specific account of type Foo.""" - servicename = 'foo' + + servicename = "foo" class BarAccount(Account): """A service-specific account of type Bar.""" - servicename = 'bar' + + servicename = "bar" class Subscriber(models.Model): @@ -313,11 +327,13 @@ class Podcast(Media): release_date = models.DateField() class Meta: - ordering = ('release_date',) # overridden in PodcastAdmin + ordering = ("release_date",) # overridden in PodcastAdmin class Vodcast(Media): - media = models.OneToOneField(Media, models.CASCADE, primary_key=True, parent_link=True) + media = models.OneToOneField( + Media, models.CASCADE, primary_key=True, parent_link=True + ) released = models.BooleanField(default=False) @@ -325,8 +341,8 @@ class Parent(models.Model): name = models.CharField(max_length=128) def clean(self): - if self.name == '_invalid': - raise ValidationError('invalid') + if self.name == "_invalid": + raise ValidationError("invalid") class Child(models.Model): @@ -334,19 +350,20 @@ class Child(models.Model): name = models.CharField(max_length=30, blank=True) def clean(self): - if self.name == '_invalid': - raise ValidationError('invalid') + if self.name == "_invalid": + raise ValidationError("invalid") class PKChild(models.Model): """ Used to check autocomplete to_field resolution when ForeignKey is PK. """ + parent = models.ForeignKey(Parent, models.CASCADE, primary_key=True) name = models.CharField(max_length=128) class Meta: - ordering = ['parent'] + ordering = ["parent"] def __str__(self): return self.name @@ -370,7 +387,7 @@ class Gallery(models.Model): class Picture(models.Model): name = models.CharField(max_length=100) - image = models.FileField(storage=temp_storage, upload_to='test_upload') + image = models.FileField(storage=temp_storage, upload_to="test_upload") gallery = models.ForeignKey(Gallery, models.CASCADE, related_name="pictures") @@ -384,7 +401,7 @@ class Language(models.Model): return self.iso class Meta: - ordering = ('iso',) + ordering = ("iso",) # a base class for Recommender and Recommendation @@ -446,10 +463,10 @@ class Category(models.Model): order = models.PositiveIntegerField() class Meta: - ordering = ('order',) + ordering = ("order",) def __str__(self): - return '%s:o%s' % (self.id, self.order) + return "%s:o%s" % (self.id, self.order) def link_posted_default(): @@ -476,12 +493,16 @@ class PrePopulatedSubPost(models.Model): class Post(models.Model): - title = models.CharField(max_length=100, help_text='Some help text for the title (with Unicode ŠĐĆŽćžšđ)') - content = models.TextField(help_text='Some help text for the content (with Unicode ŠĐĆŽćžšđ)') + title = models.CharField( + max_length=100, help_text="Some help text for the title (with Unicode ŠĐĆŽćžšđ)" + ) + content = models.TextField( + help_text="Some help text for the content (with Unicode ŠĐĆŽćžšđ)" + ) readonly_content = models.TextField() posted = models.DateField( default=datetime.date.today, - help_text='Some help text for the date (with Unicode ŠĐĆŽćžšđ)', + help_text="Some help text for the date (with Unicode ŠĐĆŽćžšđ)", ) public = models.BooleanField(null=True, blank=True) @@ -519,7 +540,7 @@ class FunkyTag(models.Model): name = models.CharField(max_length=25) content_type = models.ForeignKey(ContentType, models.CASCADE) object_id = models.PositiveIntegerField() - content_object = GenericForeignKey('content_type', 'object_id') + content_object = GenericForeignKey("content_type", "object_id") def __str__(self): return self.name @@ -527,8 +548,8 @@ class FunkyTag(models.Model): class Plot(models.Model): name = models.CharField(max_length=100) - team_leader = models.ForeignKey(Villain, models.CASCADE, related_name='lead_plots') - contact = models.ForeignKey(Villain, models.CASCADE, related_name='contact_plots') + team_leader = models.ForeignKey(Villain, models.CASCADE, related_name="lead_plots") + contact = models.ForeignKey(Villain, models.CASCADE, related_name="contact_plots") tags = GenericRelation(FunkyTag) def __str__(self): @@ -549,7 +570,8 @@ class PlotProxy(Plot): class SecretHideout(models.Model): - """ Secret! Not registered with the admin! """ + """Secret! Not registered with the admin!""" + location = models.CharField(max_length=100) villain = models.ForeignKey(Villain, models.CASCADE) @@ -558,7 +580,8 @@ class SecretHideout(models.Model): class SuperSecretHideout(models.Model): - """ Secret! Not registered with the admin! """ + """Secret! Not registered with the admin!""" + location = models.CharField(max_length=100) supervillain = models.ForeignKey(SuperVillain, models.CASCADE) @@ -568,7 +591,7 @@ class SuperSecretHideout(models.Model): class Bookmark(models.Model): name = models.CharField(max_length=60) - tag = GenericRelation(FunkyTag, related_query_name='bookmark') + tag = GenericRelation(FunkyTag, related_query_name="bookmark") def __str__(self): return self.name @@ -576,7 +599,7 @@ class Bookmark(models.Model): class CyclicOne(models.Model): name = models.CharField(max_length=25) - two = models.ForeignKey('CyclicTwo', models.CASCADE) + two = models.ForeignKey("CyclicTwo", models.CASCADE) def __str__(self): return self.name @@ -599,7 +622,7 @@ class Topping(models.Model): class Pizza(models.Model): name = models.CharField(max_length=20) - toppings = models.ManyToManyField('Topping', related_name='pizzas') + toppings = models.ManyToManyField("Topping", related_name="pizzas") # Pizza's ModelAdmin has readonly_fields = ['toppings']. @@ -634,7 +657,7 @@ class Employee(Person): code = models.CharField(max_length=20) class Meta: - ordering = ['name'] + ordering = ["name"] class WorkHour(models.Model): @@ -646,6 +669,7 @@ class Manager(Employee): """ A multi-layer MTI child. """ + pass @@ -658,7 +682,7 @@ class Question(models.Model): question = models.CharField(max_length=20) posted = models.DateField(default=datetime.date.today) expires = models.DateTimeField(null=True, blank=True) - related_questions = models.ManyToManyField('self') + related_questions = models.ManyToManyField("self") uuid = models.UUIDField(default=uuid.uuid4, unique=True) def __str__(self): @@ -668,12 +692,15 @@ class Question(models.Model): class Answer(models.Model): question = models.ForeignKey(Question, models.PROTECT) question_with_to_field = models.ForeignKey( - Question, models.SET_NULL, - blank=True, null=True, to_field='uuid', - related_name='uuid_answers', - limit_choices_to=~models.Q(question__istartswith='not'), + Question, + models.SET_NULL, + blank=True, + null=True, + to_field="uuid", + related_name="uuid_answers", + limit_choices_to=~models.Q(question__istartswith="not"), ) - related_answers = models.ManyToManyField('self') + related_answers = models.ManyToManyField("self") answer = models.CharField(max_length=20) def __str__(self): @@ -692,17 +719,19 @@ class Reservation(models.Model): class FoodDelivery(models.Model): DRIVER_CHOICES = ( - ('bill', 'Bill G'), - ('steve', 'Steve J'), + ("bill", "Bill G"), + ("steve", "Steve J"), ) RESTAURANT_CHOICES = ( - ('indian', 'A Taste of India'), - ('thai', 'Thai Pography'), - ('pizza', 'Pizza Mama'), + ("indian", "A Taste of India"), + ("thai", "Thai Pography"), + ("pizza", "Pizza Mama"), ) reference = models.CharField(max_length=100) driver = models.CharField(max_length=100, choices=DRIVER_CHOICES, blank=True) - restaurant = models.CharField(max_length=100, choices=RESTAURANT_CHOICES, blank=True) + restaurant = models.CharField( + max_length=100, choices=RESTAURANT_CHOICES, blank=True + ) class Meta: unique_together = (("driver", "restaurant"),) @@ -761,6 +790,7 @@ class PrePopulatedPostLargeSlug(models.Model): be localized in prepopulated_fields_js.html or it might end up breaking the JavaScript (ie, using THOUSAND_SEPARATOR ends up with maxLength=1,000) """ + title = models.CharField(max_length=100) published = models.BooleanField(default=False) # `db_index=False` because MySQL cannot index large CharField (#21196). @@ -776,7 +806,7 @@ class AdminOrderedModelMethod(models.Model): order = models.IntegerField() stuff = models.CharField(max_length=200) - @admin.display(ordering='order') + @admin.display(ordering="order") def some_order(self): return self.order @@ -803,8 +833,8 @@ class MainPrepopulated(models.Model): pubdate = models.DateField() status = models.CharField( max_length=20, - choices=(('option one', 'Option One'), - ('option two', 'Option Two'))) + choices=(("option one", "Option One"), ("option two", "Option Two")), + ) slug1 = models.SlugField(blank=True) slug2 = models.SlugField(blank=True) slug3 = models.SlugField(blank=True, allow_unicode=True) @@ -813,13 +843,13 @@ class MainPrepopulated(models.Model): class RelatedPrepopulated(models.Model): parent = models.ForeignKey(MainPrepopulated, models.CASCADE) name = models.CharField(max_length=75) - fk = models.ForeignKey('self', models.CASCADE, blank=True, null=True) - m2m = models.ManyToManyField('self', blank=True) + fk = models.ForeignKey("self", models.CASCADE, blank=True, null=True) + m2m = models.ManyToManyField("self", blank=True) pubdate = models.DateField() status = models.CharField( max_length=20, - choices=(('option one', 'Option One'), - ('option two', 'Option Two'))) + choices=(("option one", "Option One"), ("option two", "Option Two")), + ) slug1 = models.SlugField(max_length=50) slug2 = models.SlugField(max_length=60) @@ -829,6 +859,7 @@ class UnorderedObject(models.Model): Model without any defined `Meta.ordering`. Refs #16819. """ + name = models.CharField(max_length=255) bool = models.BooleanField(default=True) @@ -838,6 +869,7 @@ class UndeletableObject(models.Model): Model whose show_delete in admin change_view has been disabled Refs #10057. """ + name = models.CharField(max_length=255) @@ -862,8 +894,9 @@ class Simple(models.Model): class Choice(models.Model): choice = models.IntegerField( - blank=True, null=True, - choices=((1, 'Yes'), (0, 'No'), (None, 'No opinion')), + blank=True, + null=True, + choices=((1, "Yes"), (0, "No"), (None, "No opinion")), ) @@ -873,6 +906,7 @@ class ParentWithDependentChildren(models.Model): Model where the validation of child foreign-key relationships depends on validation of the parent """ + some_required_info = models.PositiveIntegerField() family_name = models.CharField(max_length=255, blank=False) @@ -883,6 +917,7 @@ class DependentChild(models.Model): Model that depends on validation of the parent class for one of its fields to validate during clean """ + parent = models.ForeignKey(ParentWithDependentChildren, models.CASCADE) family_name = models.CharField(max_length=255) @@ -901,27 +936,27 @@ class FilteredManager(models.Model): class EmptyModelVisible(models.Model): - """ See ticket #11277. """ + """See ticket #11277.""" class EmptyModelHidden(models.Model): - """ See ticket #11277. """ + """See ticket #11277.""" class EmptyModelMixin(models.Model): - """ See ticket #11277. """ + """See ticket #11277.""" class State(models.Model): - name = models.CharField(max_length=100, verbose_name='State verbose_name') + name = models.CharField(max_length=100, verbose_name="State verbose_name") class City(models.Model): state = models.ForeignKey(State, models.CASCADE) - name = models.CharField(max_length=100, verbose_name='City verbose_name') + name = models.CharField(max_length=100, verbose_name="City verbose_name") def get_absolute_url(self): - return '/dummy/%s/' % self.pk + return "/dummy/%s/" % self.pk class Restaurant(models.Model): @@ -929,7 +964,7 @@ class Restaurant(models.Model): name = models.CharField(max_length=100) def get_absolute_url(self): - return '/dummy/%s/' % self.pk + return "/dummy/%s/" % self.pk class Worker(models.Model): @@ -947,8 +982,8 @@ class ParentWithFK(models.Model): fk = models.ForeignKey( ReferencedByParent, models.CASCADE, - to_field='name', - related_name='hidden+', + to_field="name", + related_name="hidden+", ) @@ -970,8 +1005,8 @@ class InlineReference(models.Model): fk = models.ForeignKey( ReferencedByInline, models.CASCADE, - to_field='name', - related_name='hidden+', + to_field="name", + related_name="hidden+", ) @@ -981,12 +1016,12 @@ class Recipe(models.Model): class Ingredient(models.Model): iname = models.CharField(max_length=20, unique=True) - recipes = models.ManyToManyField(Recipe, through='RecipeIngredient') + recipes = models.ManyToManyField(Recipe, through="RecipeIngredient") class RecipeIngredient(models.Model): - ingredient = models.ForeignKey(Ingredient, models.CASCADE, to_field='iname') - recipe = models.ForeignKey(Recipe, models.CASCADE, to_field='rname') + ingredient = models.ForeignKey(Ingredient, models.CASCADE, to_field="iname") + recipe = models.ForeignKey(Recipe, models.CASCADE, to_field="rname") # Model for #23839 @@ -1008,7 +1043,7 @@ class ImplicitlyGeneratedPK(models.Model): class ReferencedByGenRel(models.Model): content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) object_id = models.PositiveIntegerField() - content_object = GenericForeignKey('content_type', 'object_id') + content_object = GenericForeignKey("content_type", "object_id") class GenRelReference(models.Model): @@ -1024,7 +1059,9 @@ class ParentWithUUIDPK(models.Model): class RelatedWithUUIDPKModel(models.Model): - parent = models.ForeignKey(ParentWithUUIDPK, on_delete=models.SET_NULL, null=True, blank=True) + parent = models.ForeignKey( + ParentWithUUIDPK, on_delete=models.SET_NULL, null=True, blank=True + ) class Author(models.Model): @@ -1038,6 +1075,7 @@ class Authorship(models.Model): class UserProxy(User): """Proxy a model with a different app_label.""" + class Meta: proxy = True |
