55User = get_user_model ()
66
77
8- class SponsorLevelManager (models .Manager ):
9- def get_queryset (self ):
10- return super (SponsorLevelManager , self ).get_queryset ().all ().order_by ("order" )
11-
12-
138class SponsorBenefit (models .Model ):
149 class Meta :
15- verbose_name = "후원사 등급 별 혜택"
16- verbose_name_plural = "후원사 등급 별 혜택 목록"
10+ verbose_name = "후원사 혜택"
11+ verbose_name_plural = "후원사 혜택 목록"
1712
1813 name = models .CharField (max_length = 255 , help_text = "혜택 이름" )
1914 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 = "혜택 단위" )
2116 year = models .IntegerField (default = 2023 )
2217 is_countable = models .BooleanField (
2318 default = True , help_text = "제공 하는 혜택이 셀 수 있는지 여부"
2419 )
2520
21+ def __str__ (self ):
22+ return self .name
23+
2624
2725class SponsorLevel (models .Model ):
2826 class Meta :
2927 verbose_name = "후원사 등급"
3028 verbose_name_plural = "후원사 등급"
29+ ordering = ["order" ]
3130
3231 name = models .CharField (
3332 max_length = 255 , blank = True , default = "" , help_text = "후원 등급명"
@@ -49,8 +48,6 @@ class Meta:
4948 SponsorBenefit , through = "BenefitByLevel" , related_name = "level"
5049 )
5150
52- objects = SponsorLevelManager ()
53-
5451 @property
5552 def current_remaining_number (self ):
5653 return (
@@ -75,6 +72,8 @@ def __str__(self):
7572
7673class BenefitByLevel (models .Model ):
7774 class Meta :
75+ verbose_name = "후원사 등급별 혜택"
76+ verbose_name_plural = "후원사 등급별 혜택 목록"
7877 constraints = [
7978 models .UniqueConstraint (
8079 fields = ["benefit_id" , "level_id" ], name = "IX_BENEFIT_BY_LEVEL_1"
@@ -87,7 +86,15 @@ class Meta:
8786 level = models .ForeignKey (
8887 SponsorLevel , on_delete = models .CASCADE , related_name = "benefit_by_level"
8988 )
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} "
9198
9299
93100def registration_file_upload_to (instance , filename ):
0 commit comments