5
5
User = get_user_model ()
6
6
7
7
8
- class SponsorLevelManager (models .Manager ):
9
- def get_queryset (self ):
10
- return super (SponsorLevelManager , self ).get_queryset ().all ().order_by ("order" )
11
-
12
-
13
8
class SponsorBenefit (models .Model ):
14
9
class Meta :
15
- verbose_name = "후원사 등급 별 혜택"
16
- verbose_name_plural = "후원사 등급 별 혜택 목록"
10
+ verbose_name = "후원사 혜택"
11
+ verbose_name_plural = "후원사 혜택 목록"
17
12
18
13
name = models .CharField (max_length = 255 , help_text = "혜택 이름" )
19
14
desc = models .TextField (null = True , blank = True , help_text = "기타" )
20
- unit = models .CharField (max_length = 10 , help_text = "혜택 단위" )
15
+ unit = models .CharField (max_length = 10 , null = True , blank = True , help_text = "혜택 단위" )
21
16
year = models .IntegerField (default = 2023 )
22
17
is_countable = models .BooleanField (
23
18
default = True , help_text = "제공 하는 혜택이 셀 수 있는지 여부"
24
19
)
25
20
21
+ def __str__ (self ):
22
+ return self .name
23
+
26
24
27
25
class SponsorLevel (models .Model ):
28
26
class Meta :
29
27
verbose_name = "후원사 등급"
30
28
verbose_name_plural = "후원사 등급"
29
+ ordering = ["order" ]
31
30
32
31
name = models .CharField (
33
32
max_length = 255 , blank = True , default = "" , help_text = "후원 등급명"
@@ -49,8 +48,6 @@ class Meta:
49
48
SponsorBenefit , through = "BenefitByLevel" , related_name = "level"
50
49
)
51
50
52
- objects = SponsorLevelManager ()
53
-
54
51
@property
55
52
def current_remaining_number (self ):
56
53
return (
@@ -75,6 +72,8 @@ def __str__(self):
75
72
76
73
class BenefitByLevel (models .Model ):
77
74
class Meta :
75
+ verbose_name = "후원사 등급별 혜택"
76
+ verbose_name_plural = "후원사 등급별 혜택 목록"
78
77
constraints = [
79
78
models .UniqueConstraint (
80
79
fields = ["benefit_id" , "level_id" ], name = "IX_BENEFIT_BY_LEVEL_1"
@@ -87,7 +86,15 @@ class Meta:
87
86
level = models .ForeignKey (
88
87
SponsorLevel , on_delete = models .CASCADE , related_name = "benefit_by_level"
89
88
)
90
- offer = models .PositiveIntegerField (help_text = "제공 하는 혜택 개수" )
89
+ offer = models .PositiveIntegerField (
90
+ null = True , blank = True , help_text = "제공 하는 혜택 개수"
91
+ )
92
+ uncountable_offer = models .TextField (
93
+ null = True , blank = True , help_text = "셀 수 없는 혜택"
94
+ )
95
+
96
+ def __str__ (self ):
97
+ return f"{ self .level !s} - { self .benefit !s} "
91
98
92
99
93
100
def registration_file_upload_to (instance , filename ):
0 commit comments