Skip to content

Commit

Permalink
kahluaband#59 Feat: add count field in general/freshman ticket
Browse files Browse the repository at this point in the history
  • Loading branch information
woogieon8on committed Jan 10, 2024
1 parent a36dc36 commit e0cd5f7
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
23 changes: 23 additions & 0 deletions tickets/migrations/0007_auto_20240111_0149.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Generated by Django 3.2.20 on 2024-01-10 16:49

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('tickets', '0006_generalticket_payment'),
]

operations = [
migrations.AddField(
model_name='freshmanticket',
name='count',
field=models.PositiveBigIntegerField(default=0),
),
migrations.AddField(
model_name='generalticket',
name='count',
field=models.PositiveBigIntegerField(default=0),
),
]
15 changes: 15 additions & 0 deletions tickets/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,17 @@ class GeneralTicket(TimeStampedModel): #일반 티켓
price = models.PositiveIntegerField(default=0)
status = models.BooleanField(default=False) # 결제 상태 (True: 결제 완료, False: 입금 대기)
payment = models.CharField(max_length=6, default='') # 결제 수단 (계좌이체/카카오페이)
count = models.PositiveBigIntegerField(default=0) # 예매자 count

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

def save(self, *args, **kwargs):
if not self.pk:
latest_ticket = GeneralTicket.objects.order_by('-created').first()
self.count = latest_ticket.count + 1 if latest_ticket else 1
super().save(*args, **kwargs)

class Meta:
ordering = ['-created']

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


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

def save(self, *args, **kwargs):
if not self.pk:
latest_ticket = FreshmanTicket.objects.order_by('-created').first()
self.count = latest_ticket.count + 1 if latest_ticket else 1
super().save(*args, **kwargs)


class OrderTransactionManager(models.Manager):
Expand Down
1 change: 1 addition & 0 deletions tickets/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class Meta:
'price',
'status',
'payment',
'count',
]

def create(self, validated_data):
Expand Down

0 comments on commit e0cd5f7

Please sign in to comment.