33from django .contrib .contenttypes .models import ContentType
44from django .db import models
55from django .db .models import Model
6+ from django_stubs_ext .db .models import TypedModelMeta
67
78User = get_user_model ()
89
@@ -23,7 +24,7 @@ class Link(Model):
2324 object_id = models .PositiveIntegerField ()
2425 content_object = GenericForeignKey ("content_type" , "object_id" )
2526
26- class Meta :
27+ class Meta ( TypedModelMeta ) :
2728 unique_together = (
2829 "link" ,
2930 "content_type" ,
@@ -32,7 +33,7 @@ class Meta:
3233 verbose_name = "Ссылка"
3334 verbose_name_plural = "Ссылки"
3435
35- def __str__ (self ):
36+ def __str__ (self ) -> str :
3637 return f"Link for { self .content_object } - { self .link } "
3738
3839
@@ -54,7 +55,7 @@ class Like(Model):
5455 object_id = models .PositiveIntegerField ()
5556 content_object = GenericForeignKey ("content_type" , "object_id" )
5657
57- class Meta :
58+ class Meta ( TypedModelMeta ) :
5859 unique_together = (
5960 "user" ,
6061 "content_type" ,
@@ -63,7 +64,7 @@ class Meta:
6364 verbose_name = "Лайк"
6465 verbose_name_plural = "Лайки"
6566
66- def __str__ (self ):
67+ def __str__ (self ) -> str :
6768 return f"Like<{ self .user } - { self .content_object } >"
6869
6970
@@ -88,7 +89,7 @@ class View(Model):
8889 object_id = models .PositiveIntegerField ()
8990 content_object = GenericForeignKey ("content_type" , "object_id" )
9091
91- class Meta :
92+ class Meta ( TypedModelMeta ) :
9293 unique_together = (
9394 "user" ,
9495 "content_type" ,
@@ -97,7 +98,7 @@ class Meta:
9798 verbose_name = "Просмотр"
9899 verbose_name_plural = "Просмотры"
99100
100- def __str__ (self ):
101+ def __str__ (self ) -> str :
101102 return f"View<{ self .user } - { self .content_object } >"
102103
103104
@@ -108,10 +109,10 @@ class SkillCategory(models.Model):
108109
109110 name = models .CharField (max_length = 256 , null = False )
110111
111- def __str__ (self ):
112+ def __str__ (self ) -> str :
112113 return self .name
113114
114- class Meta :
115+ class Meta ( TypedModelMeta ) :
115116 verbose_name = "Категория навыка"
116117 verbose_name_plural = "Категории навыков"
117118 ordering = ["name" ]
@@ -129,13 +130,13 @@ class Skill(models.Model):
129130 related_name = "skills" ,
130131 )
131132
132- def __str__ (self ):
133+ def __str__ (self ) -> str :
133134 return self .name
134135
135- def __repr__ (self ):
136+ def __repr__ (self ) -> str :
136137 return f"Skill<name={ self .name } ,id={ self .id } >"
137138
138- class Meta :
139+ class Meta ( TypedModelMeta ) :
139140 verbose_name = "Навык"
140141 verbose_name_plural = "Навыки"
141142 ordering = ["id" , "category" , "name" ]
@@ -160,18 +161,18 @@ class SkillToObject(models.Model):
160161 object_id = models .PositiveIntegerField ()
161162 content_object = GenericForeignKey ("content_type" , "object_id" )
162163
163- class Meta :
164+ class Meta ( TypedModelMeta ) :
164165 verbose_name = "Ссылка на навык"
165166 verbose_name_plural = "Ссылки на навыки"
166167
167168
168169class SpecializationCategory (models .Model ):
169170 name = models .TextField ()
170171
171- def __str__ (self ):
172+ def __str__ (self ) -> str :
172173 return self .name
173174
174- class Meta :
175+ class Meta ( TypedModelMeta ) :
175176 verbose_name = "Категория специализации"
176177 verbose_name_plural = "Категории специализаций"
177178
@@ -182,10 +183,10 @@ class Specialization(models.Model):
182183 SpecializationCategory , related_name = "specializations" , on_delete = models .CASCADE
183184 )
184185
185- def __str__ (self ):
186+ def __str__ (self ) -> str :
186187 return self .name
187188
188- class Meta :
189+ class Meta ( TypedModelMeta ) :
189190 verbose_name = "Специализация"
190191 verbose_name_plural = "Специализации"
191192
0 commit comments