33
44from partner_programs .models import PartnerProgram
55from projects .models import Project
6- from .constants import TYPES , get_type
6+ from .constants import TYPES
77
88User = get_user_model ()
99
10+
1011class Criteria (models .Model ):
1112 """
1213 Criteria model
@@ -20,32 +21,22 @@ class Criteria(models.Model):
2021 partner_program: A ForeignKey connection to PartnerProgram model
2122
2223 """
23- name = models .CharField (
24- verbose_name = "Название" ,
25- max_length = 50
26- )
27- description = models .TextField (
28- verbose_name = "Описание" ,
29- null = True ,
30- blank = True
31- )
32- type = models .CharField (
33- verbose_name = "Тип" ,
34- max_length = 8 ,
35- choices = TYPES
36- )
24+
25+ name = models .CharField (verbose_name = "Название" , max_length = 50 )
26+ description = models .TextField (verbose_name = "Описание" , null = True , blank = True )
27+ type = models .CharField (verbose_name = "Тип" , max_length = 8 , choices = TYPES )
3728
3829 min_value = models .FloatField (
3930 verbose_name = "Минимально допустимое числовое значение" ,
4031 help_text = "(если есть)" ,
4132 null = True ,
42- blank = True
33+ blank = True ,
4334 )
4435 max_value = models .FloatField (
4536 verbose_name = "Максимально допустимое числовое значение" ,
4637 help_text = "(если есть)" ,
4738 null = True ,
48- blank = True
39+ blank = True ,
4940 )
5041 partner_program = models .ForeignKey (
5142 PartnerProgram ,
@@ -61,7 +52,6 @@ class Meta:
6152 verbose_name_plural = "Критерии оценки проектов"
6253
6354
64-
6555class ProjectScore (models .Model ):
6656 """
6757 ProjectScore model
@@ -76,52 +66,30 @@ class ProjectScore(models.Model):
7666 value_str: IntegerField for value
7767
7868 """
69+
7970 criteria = models .ForeignKey (
80- Criteria ,
81- on_delete = models .CASCADE ,
82- related_name = "scores"
83- )
84- user = models .ForeignKey (
85- User ,
86- on_delete = models .CASCADE ,
87- related_name = "scores"
88- )
89- project = models .ForeignKey (
90- Project ,
91- on_delete = models .CASCADE ,
92- related_name = "scores"
71+ Criteria , on_delete = models .CASCADE , related_name = "scores"
9372 )
73+ user = models .ForeignKey (User , on_delete = models .CASCADE , related_name = "scores" )
74+ project = models .ForeignKey (Project , on_delete = models .CASCADE , related_name = "scores" )
9475
9576 value_int = models .IntegerField (
96- verbose_name = "Целочисленное значение" ,
97- null = True ,
98- blank = True
77+ verbose_name = "Целочисленное значение" , null = True , blank = True
9978 )
10079 value_float = models .FloatField (
101- verbose_name = "Значение с плавающей запятой" ,
102- max_length = 50 ,
103- null = True ,
104- blank = True
80+ verbose_name = "Значение с плавающей запятой" , max_length = 50 , null = True , blank = True
10581 )
10682 value_bool = models .BooleanField (
107- verbose_name = "'Да или нет' значение" ,
108- null = True ,
109- blank = True
83+ verbose_name = "'Да или нет' значение" , null = True , blank = True
11084 )
11185 value_str = models .FloatField (
112- verbose_name = "Текстовое значение" ,
113- max_length = 50 ,
114- null = True ,
115- blank = True
86+ verbose_name = "Текстовое значение" , max_length = 50 , null = True , blank = True
11687 )
11788
118-
11989 def __str__ (self ):
12090 return f"ProjectScore<{ self .id } > - { self .criteria .name } "
12191
122-
12392 class Meta :
12493 verbose_name = "Оценка проекта"
12594 verbose_name_plural = "Оценки проектов"
126- unique_together = ('criteria' , 'user' , 'project' )
127-
95+ unique_together = ("criteria" , "user" , "project" )
0 commit comments