@@ -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):
3333class 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
6063class AlternativePlace (models .Model ): # 대안장소
6164 schedule_entry = models .ForeignKey (ScheduleEntry , on_delete = models .CASCADE )
0 commit comments