Skip to content

Commit a892c69

Browse files
committed
ticket 모델명 변경 및 MyPage에서 티켓을 참조하도록 수정
1 parent f9c82f2 commit a892c69

File tree

7 files changed

+22
-18
lines changed

7 files changed

+22
-18
lines changed

account/templates/account_mypage_payments.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@
1111
</tr>
1212
</thead>
1313
<tbody>
14-
{% for payment in payment_list %}
14+
{% for ticket in ticket_list %}
1515
<tr>
16-
<td>{{ payment.id }}</td>
17-
<td>{{ payment.user_id }}</td>
18-
<td>{{ payment.money }}</td>
19-
<td>{{ payment.create_at }}</td>
16+
<td>{{ ticket.id }}</td>
17+
<td>{{ ticket.payment.money }}</td>
18+
<td>{{ ticket.create_at }}</td>
2019
<td>
2120
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full">
2221
Button

account/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from django.shortcuts import render
88
from rest_framework.views import APIView
99

10-
import payment
10+
from ticket.models import Ticket
1111

1212
from allauth.account.views import LoginView, LogoutView
1313

@@ -34,6 +34,6 @@ class MyPage(APIView):
3434

3535
@login_required
3636
def mypage_payments(request):
37-
payment_list = payment.models.Payment.objects.filter(user_id=request.user)
37+
ticket_list = Ticket.objects.filter(user=request.user)
3838
return render(request, 'account_mypage_payments.html',
39-
context={'payment_list': payment_list})
39+
context={'ticket_list': ticket_list})

payment/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
class Payment(models.Model):
1010
payment_key = models.CharField(max_length=32) # TODO: uuid 처리
1111
user_id = models.ForeignKey(User, on_delete=models.PROTECT)
12+
ticket_type = models.ForeignKey(TicketType, on_delete=models.PROTECT)
1213
money = models.IntegerField()
1314
create_at = models.DateTimeField(auto_now_add=True)
1415
update_at = models.DateTimeField(auto_now=True)

payment/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def generate_payment_key(user: User, ticket_type: TicketType):
1414
new_payment = Payment(
1515
payment_key=shortuuid.uuid(),
1616
user_id=user,
17-
# ticket_type=ticket_type, # TODO
17+
ticket_type=ticket_type,
1818
money=ticket_type.price
1919
)
2020

ticket/admin.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from django.contrib import admin
22

3-
from .models import ConferenceTicket, TicketType
3+
from .models import Ticket, TicketType
44

55

66
class ConferenceTicketAdmin(admin.ModelAdmin):
@@ -13,7 +13,7 @@ class ConferenceTicketAdmin(admin.ModelAdmin):
1313
list_filter = ("ticket_type",)
1414

1515

16-
admin.site.register(ConferenceTicket, ConferenceTicketAdmin)
16+
admin.site.register(Ticket, ConferenceTicketAdmin)
1717

1818

1919
class ConferenceTicketTypeAdmin(admin.ModelAdmin):

ticket/models.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from django.contrib.auth import get_user_model
66
from django.db import models
77

8+
from payment.models import Payment
9+
810
User = get_user_model()
911

1012

@@ -29,10 +31,10 @@ def __str__(self):
2931
@property
3032
def buyable(self) -> bool:
3133
"""잔여 수량이 있는지"""
32-
sat_ticket_count = ConferenceTicket.objects.filter(
34+
sat_ticket_count = Ticket.objects.filter(
3335
models.Q(ticket_type__day="SAT") & models.Q(ticket_type__day="WEEKEND")
3436
).count()
35-
sun_ticket_count = ConferenceTicket.objects.filter(
37+
sun_ticket_count = Ticket.objects.filter(
3638
models.Q(ticket_type__day="SUN") & models.Q(ticket_type__day="WEEKEND")
3739
).count()
3840

@@ -61,7 +63,7 @@ def make_ticket_code() -> str:
6163
return shortuuid.uuid()
6264

6365

64-
class ConferenceTicket(models.Model):
66+
class Ticket(models.Model):
6567
# 구분
6668
ticket_type = models.ForeignKey(
6769
TicketType, on_delete=models.RESTRICT, db_index=True
@@ -74,6 +76,8 @@ class ConferenceTicket(models.Model):
7476
ticket_code = models.CharField(
7577
max_length=25, default=make_ticket_code, unique=True, db_index=True
7678
)
79+
# 결제 정보
80+
payment = models.ForeignKey(Payment, on_delete=models.PROTECT)
7781

7882
created_at = models.DateTimeField(auto_now_add=True)
7983
updated_at = models.DateTimeField(auto_now=True)

ticket/views.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from django.views.decorators.csrf import csrf_exempt
1010
from django.views import View
1111

12-
from .models import ConferenceTicket, TicketType
12+
from .models import Ticket, TicketType
1313
from .requests import (
1414
AddConferenceTicketRequest,
1515
CheckConferenceTicketTypeBuyableRequest,
@@ -94,7 +94,7 @@ def get__check_conference_ticket_type_buyable(
9494
except User.DoesNotExist:
9595
return HttpResponse(json.dumps(ticket_type.buyable))
9696

97-
bought_tickets = ConferenceTicket.objects.filter(user=user)
97+
bought_tickets = Ticket.objects.filter(user=user)
9898

9999
return HttpResponse(
100100
json.dumps(
@@ -141,7 +141,7 @@ def post__add_conference_ticket(request: HttpRequest, **kwargs) -> HttpResponse:
141141
except User.DoesNotExist:
142142
return HttpResponse("Cannot find user with user_id", status=400)
143143

144-
bought_tickets = ConferenceTicket.objects.filter(user=user)
144+
bought_tickets = Ticket.objects.filter(user=user)
145145
if any(
146146
(
147147
not bought_ticket.ticket_type.can_coexist(ticket_type)
@@ -150,7 +150,7 @@ def post__add_conference_ticket(request: HttpRequest, **kwargs) -> HttpResponse:
150150
):
151151
return HttpResponse("Duplicate day", status=400)
152152

153-
ticket = ConferenceTicket.objects.create(
153+
ticket = Ticket.objects.create(
154154
ticket_type=ticket_type,
155155
bought_at=bought_at,
156156
user=user,

0 commit comments

Comments
 (0)