@@ -15,9 +15,13 @@ class Meta:
15
15
verbose_name = "후원사 등급"
16
16
verbose_name_plural = "후원사 등급"
17
17
18
- name = models .CharField (max_length = 255 , blank = True , default = "" , help_text = "후원 등급명" )
18
+ name = models .CharField (
19
+ max_length = 255 , blank = True , default = "" , help_text = "후원 등급명"
20
+ )
19
21
desc = models .TextField (
20
- null = True , blank = True , help_text = "후원 혜택을 입력하면 될 거 같아요 :) 후원사가 등급을 정할 때 볼 문구입니다."
22
+ null = True ,
23
+ blank = True ,
24
+ help_text = "후원 혜택을 입력하면 될 거 같아요 :) 후원사가 등급을 정할 때 볼 문구입니다." ,
21
25
)
22
26
visible = models .BooleanField (default = True )
23
27
price = models .IntegerField (default = 0 )
@@ -50,6 +54,24 @@ def __str__(self):
50
54
return self .name
51
55
52
56
57
+ class SponsorBenefit (models .Model ):
58
+ class Meta :
59
+ verbose_name = "후원사 등급 별 혜택"
60
+ verbose_name_plural = "후원사 등급 별 혜택 목록"
61
+
62
+ name = models .CharField (max_length = 255 , help_text = "혜택 이름" )
63
+ desc = models .TextField (null = True , blank = True , help_text = "기타" )
64
+ offer = models .PositiveIntegerField (help_text = "제공 하는 혜택 개수" )
65
+ unit = models .CharField (max_length = 10 , help_text = "혜택 단위" )
66
+ is_countable = models .BooleanField (
67
+ default = True , help_text = "제공 하는 혜택이 셀 수 있는지 여부"
68
+ )
69
+
70
+ sponsor_level = models .ForeignKey (
71
+ SponsorLevel , related_name = "benefits" , on_delete = models .CASCADE
72
+ )
73
+
74
+
53
75
def registration_file_upload_to (instance , filename ):
54
76
return f"sponsor/business_registration/{ instance .id } /{ filename } "
55
77
@@ -77,7 +99,8 @@ class Meta:
77
99
related_name = "sponsor_creator" ,
78
100
)
79
101
name = models .CharField (
80
- max_length = 255 , help_text = "후원사의 이름입니다. 서비스나 회사 이름이 될 수 있습니다."
102
+ max_length = 255 ,
103
+ help_text = "후원사의 이름입니다. 서비스나 회사 이름이 될 수 있습니다." ,
81
104
)
82
105
level = models .ForeignKey (
83
106
SponsorLevel ,
@@ -87,13 +110,18 @@ class Meta:
87
110
help_text = "후원을 원하시는 등급을 선택해주십시오. 모두 판매된 등급은 선택할 수 없습니다." ,
88
111
)
89
112
desc = models .TextField (
90
- null = True , blank = True , help_text = "후원사 설명입니다. 이 설명은 국문 홈페이지에 게시됩니다."
113
+ null = True ,
114
+ blank = True ,
115
+ help_text = "후원사 설명입니다. 이 설명은 국문 홈페이지에 게시됩니다." ,
91
116
)
92
117
eng_desc = models .TextField (
93
- null = True , blank = True , help_text = "후원사 영문 설명입니다. 이 설명은 영문 홈페이지에 게시됩니다."
118
+ null = True ,
119
+ blank = True ,
120
+ help_text = "후원사 영문 설명입니다. 이 설명은 영문 홈페이지에 게시됩니다." ,
94
121
)
95
122
manager_name = models .CharField (
96
- max_length = 100 , help_text = "준비위원회와 후원과 관련된 논의를 진행할 담당자의 이름을 입력해주십시오."
123
+ max_length = 100 ,
124
+ help_text = "준비위원회와 후원과 관련된 논의를 진행할 담당자의 이름을 입력해주십시오." ,
97
125
)
98
126
manager_email = models .CharField (
99
127
max_length = 100 ,
@@ -148,10 +176,13 @@ class Meta:
148
176
help_text = "사용자가 제출했는지 여부를 저장합니다. 요청이 제출되면 준비위원회에서 검토하고 받아들일지를 결정합니다." ,
149
177
)
150
178
accepted = models .BooleanField (
151
- default = False , help_text = "후원사 신청이 접수되었고, 입금 대기 상태인 경우 True로 설정됩니다."
179
+ default = False ,
180
+ help_text = "후원사 신청이 접수되었고, 입금 대기 상태인 경우 True로 설정됩니다." ,
152
181
)
153
182
paid_at = models .DateTimeField (
154
- null = True , blank = True , help_text = "후원금이 입금된 일시입니다. 아직 입금되지 않았을 경우 None이 들어갑니다."
183
+ null = True ,
184
+ blank = True ,
185
+ help_text = "후원금이 입금된 일시입니다. 아직 입금되지 않았을 경우 None이 들어갑니다." ,
155
186
)
156
187
created_at = models .DateTimeField (auto_now_add = True )
157
188
updated_at = models .DateTimeField (auto_now = True )
@@ -160,7 +191,6 @@ def __str__(self):
160
191
return f"{ self .name } /{ self .level } "
161
192
162
193
163
-
164
194
class Patron (models .Model ):
165
195
class Meta :
166
196
ordering = ["-total_contribution" , "contribution_datetime" ]
@@ -176,7 +206,9 @@ class Meta:
176
206
help_text = "개인후원을 등록한 유저" ,
177
207
related_name = "patron_user" ,
178
208
)
179
- total_contribution = models .IntegerField (default = 0 , help_text = "개인후원한 금액입니다." )
209
+ total_contribution = models .IntegerField (
210
+ default = 0 , help_text = "개인후원한 금액입니다."
211
+ )
180
212
contribution_datetime = models .DateTimeField (
181
213
help_text = "개인후원 결제한 일시입니다."
182
214
)
0 commit comments