Skip to content

Commit e0cd5f7

Browse files
committed
kahluaband#59 Feat: add count field in general/freshman ticket
1 parent a36dc36 commit e0cd5f7

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 3.2.20 on 2024-01-10 16:49
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('tickets', '0006_generalticket_payment'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='freshmanticket',
15+
name='count',
16+
field=models.PositiveBigIntegerField(default=0),
17+
),
18+
migrations.AddField(
19+
model_name='generalticket',
20+
name='count',
21+
field=models.PositiveBigIntegerField(default=0),
22+
),
23+
]

tickets/models.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,17 @@ class GeneralTicket(TimeStampedModel): #일반 티켓
3030
price = models.PositiveIntegerField(default=0)
3131
status = models.BooleanField(default=False) # 결제 상태 (True: 결제 완료, False: 입금 대기)
3232
payment = models.CharField(max_length=6, default='') # 결제 수단 (계좌이체/카카오페이)
33+
count = models.PositiveBigIntegerField(default=0) # 예매자 count
3334

3435
def __str__(self):
3536
return 'Order {}/{}'.format(self.buyer, self.id)
3637

38+
def save(self, *args, **kwargs):
39+
if not self.pk:
40+
latest_ticket = GeneralTicket.objects.order_by('-created').first()
41+
self.count = latest_ticket.count + 1 if latest_ticket else 1
42+
super().save(*args, **kwargs)
43+
3744
class Meta:
3845
ordering = ['-created']
3946

@@ -44,9 +51,17 @@ class FreshmanTicket(TimeStampedModel): #신입생 티켓
4451
student_id = models.CharField(max_length=10, unique=True)
4552
meeting = models.BooleanField(default=False)
4653
reservation_id = models.CharField(max_length=10, unique=True, null=True) # 주문번호(예약번호)
54+
count = models.PositiveBigIntegerField(default=0) # 예매자 count
55+
4756

4857
def __str__(self):
4958
return 'Order {}.{}'.format(self.buyer, self.id)
59+
60+
def save(self, *args, **kwargs):
61+
if not self.pk:
62+
latest_ticket = FreshmanTicket.objects.order_by('-created').first()
63+
self.count = latest_ticket.count + 1 if latest_ticket else 1
64+
super().save(*args, **kwargs)
5065

5166

5267
class OrderTransactionManager(models.Manager):

tickets/serializers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class Meta:
1818
'price',
1919
'status',
2020
'payment',
21+
'count',
2122
]
2223

2324
def create(self, validated_data):

0 commit comments

Comments
 (0)