Skip to content

Commit 831542c

Browse files
committed
refactor: default 값을 지정해서 오류 안 나도록 수정
1 parent cbac5d7 commit 831542c

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

‎makourse/course/models.py‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Schedule(models.Model): # 일정(코스)
1919
meet_date_first = models.DateTimeField(null=True, blank= True) # 만나는 날짜(최대 3개로 설정하게 하려면 조금 복잡해서 일단 이렇게 해놓음..)
2020
meet_date_second = models.DateTimeField(null=True, blank= True) # 2024-12-10T15:30:00 식으로 json 받기
2121
meet_date_third = models.DateTimeField(null=True , blank= True)
22-
course_name = models.CharField(max_length=20, null=True, blank= True)
22+
course_name = models.CharField(max_length=20, blank=True, default="일정 이름을 정해주세요")
2323
meet_place = models.CharField(max_length=50, null=True, blank= True)
2424
address = models.CharField(null=True, blank = True, max_length=150)
2525
latitude = models.FloatField(default=0.0) # 만나는 장소의 위도
@@ -33,7 +33,7 @@ def __str__(self):
3333
class ScheduleEntry(models.Model): # 각 코스의 일정들
3434
schedule = models.ForeignKey(Schedule, on_delete=models.CASCADE) # 코스의 외래키
3535
num = models.IntegerField(null=True, blank=True) # 순번
36-
entry_name = models.CharField(max_length=30) # 일정의 이름
36+
entry_name = models.CharField(max_length=30, blank=True, default="기본 일정") # 일정의 이름
3737
time = models.TimeField(null=True, blank=True) # 그 일정의 시간
3838
open_time = models.TimeField(null=True, blank=True) # 오픈 시간
3939
close_time = models.TimeField(null=True, blank=True) # 마감 시간
@@ -45,17 +45,20 @@ class ScheduleEntry(models.Model): # 각 코스의 일정들
4545

4646
# 순번 자동 증가 로직
4747
def save(self, *args, **kwargs):
48-
if self.num is None: # num이 None인 경우에만 자동으로 계산
48+
if self.num is None: # num이 None인 경우 자동으로 계산
4949
last_entry = ScheduleEntry.objects.filter(schedule=self.schedule).order_by('-num').first()
50-
if last_entry:
50+
if last_entry and last_entry.num is not None:
5151
self.num = last_entry.num + 1 # 이전 num 값에서 +1
5252
else:
53-
self.num = 0 # 해당 schedule의 첫 번째 항목일 경우 0으로 설정
53+
self.num = 1 # 해당 schedule의 첫 번째 항목일 경우 1부터 시작
54+
55+
if not self.entry_name:
56+
self.entry_name = f"{self.num}번째 일정"
57+
5458
super().save(*args, **kwargs) # 부모 클래스의 save 호출
55-
5659

5760
def __str__(self):
58-
return self.entry_name
61+
return self.entry_name if self.entry_name else f"ScheduleEntry {self.pk}"
5962

6063
class AlternativePlace(models.Model): # 대안장소
6164
schedule_entry = models.ForeignKey(ScheduleEntry, on_delete=models.CASCADE)

0 commit comments

Comments
 (0)