11from django .contrib .auth .models import AbstractUser
22from django .db import models
33from django .db .models import QuerySet
4-
4+ from django_stubs_ext . db . models import TypedModelMeta
55from users .constants import (
66 ADMIN ,
77 EXPERT ,
@@ -149,7 +149,7 @@ def get_full_name(self) -> str:
149149 def __str__ (self ) -> str :
150150 return f"User<{ self .id } > - { self .first_name } { self .last_name } "
151151
152- class Meta :
152+ class Meta ( TypedModelMeta ) :
153153 verbose_name = "Пользователь"
154154 verbose_name_plural = "Пользователи"
155155 # order by count of fields inputted, like avatar, key_skills, about_me, etc.
@@ -181,7 +181,7 @@ class UserAchievement(models.Model):
181181 def __str__ (self ):
182182 return f"UserAchievement<{ self .id } >"
183183
184- class Meta :
184+ class Meta ( TypedModelMeta ) :
185185 verbose_name = "Достижение"
186186 verbose_name_plural = "Достижения"
187187
@@ -207,7 +207,7 @@ class AbstractUserWithRole(models.Model):
207207 null = True ,
208208 )
209209
210- class Meta :
210+ class Meta ( TypedModelMeta ) :
211211 abstract = True
212212
213213
@@ -244,7 +244,7 @@ def toggle_like(self):
244244 def __str__ (self ):
245245 return f"LikesOnProject<{ self .id } >"
246246
247- class Meta :
247+ class Meta ( TypedModelMeta ) :
248248 verbose_name = "Лайк на проект"
249249 verbose_name_plural = "Лайки на проекты"
250250 unique_together = ("user" , "project" )
@@ -268,6 +268,10 @@ class Member(models.Model):
268268
269269 useful_to_project = models .TextField (blank = True )
270270
271+ class Meta (TypedModelMeta ):
272+ verbose_name = "Участник"
273+ verbose_name_plural = "Участники"
274+
271275 def __str__ (self ):
272276 return f"Member<{ self .id } > - { self .user .first_name } { self .user .last_name } "
273277
@@ -291,6 +295,10 @@ class Mentor(AbstractUserWithRole):
291295 preferred_industries = models .CharField (max_length = 4096 , null = True , blank = True )
292296 useful_to_project = models .TextField (blank = True )
293297
298+ class Meta (TypedModelMeta ):
299+ verbose_name = "Ментор"
300+ verbose_name_plural = "Менторы"
301+
294302 def __str__ (self ):
295303 return f"Mentor<{ self .id } > - { self .user .first_name } { self .user .last_name } "
296304
@@ -314,7 +322,9 @@ class Expert(AbstractUserWithRole):
314322 preferred_industries = models .CharField (max_length = 4096 , null = True , blank = True )
315323 useful_to_project = models .TextField (blank = True )
316324
317- # TODO reviews
325+ class Meta (TypedModelMeta ):
326+ verbose_name = "Эксперт"
327+ verbose_name_plural = "Эксперты"
318328
319329 def __str__ (self ):
320330 return f"Expert<{ self .id } > - { self .user .first_name } { self .user .last_name } "
@@ -338,6 +348,10 @@ class Investor(AbstractUserWithRole):
338348 preferred_industries = models .CharField (max_length = 4096 , null = True , blank = True )
339349 interaction_process_description = models .TextField (blank = True )
340350
351+ class Meta (TypedModelMeta ):
352+ verbose_name = "Инвестор"
353+ verbose_name_plural = "Инвесторы"
354+
341355 def __str__ (self ):
342356 return f"Investor<{ self .id } > - { self .user .first_name } { self .user .last_name } "
343357
@@ -363,7 +377,7 @@ class UserLink(models.Model):
363377 def __str__ (self ):
364378 return f"UserLink<{ self .id } > - { self .user .first_name } { self .user .last_name } "
365379
366- class Meta :
380+ class Meta ( TypedModelMeta ) :
367381 verbose_name = "Ссылка пользователя"
368382 verbose_name_plural = "Ссылки пользователей"
369383 unique_together = ("user" , "link" )
0 commit comments