22#
33# SPDX-License-Identifier: GPL-3.0-or-later
44
5+ from typing import ClassVar
6+
57from django .conf import settings
68from django .core .exceptions import ValidationError
79from django .core .files .storage import FileSystemStorage
@@ -45,7 +47,9 @@ class Font(models.Model, UserDisplayMixin):
4547 )
4648
4749 class Meta :
48- unique_together = [("family" , "style" , "project" )] # ruff: ignore[mutable-class-default]
50+ unique_together : ClassVar [list [tuple [str , str , str ]]] = [
51+ ("family" , "style" , "project" )
52+ ]
4953 verbose_name = "Font"
5054 verbose_name_plural = "Fonts"
5155
@@ -126,7 +130,7 @@ class FontGroup(models.Model):
126130 objects = FontGroupQuerySet .as_manager ()
127131
128132 class Meta :
129- unique_together = [("project" , "name" )] # ruff: ignore[mutable-class-default ]
133+ unique_together : ClassVar [ list [ tuple [ str , str ]]] = [("project" , "name" )]
130134 verbose_name = "Font group"
131135 verbose_name_plural = "Font groups"
132136
@@ -153,7 +157,7 @@ class FontOverride(models.Model):
153157 )
154158
155159 class Meta :
156- unique_together = [("group" , "language" )] # ruff: ignore[mutable-class-default ]
160+ unique_together : ClassVar [ list [ tuple [ str , str ]]] = [("group" , "language" )]
157161 verbose_name = "Font override"
158162 verbose_name_plural = "Font overrides"
159163
0 commit comments