🌘

12. 카페 위치 추가

카페 위치이름 추가

['한경면', '한림읍', '애월읍', '제주시', '조천읍', '구좌읍', '우도면', '성산읍', '표선면', '남원읍', '서귀포시', '안덕면', '대정읍']
각 카페마다 카페 위치에 맞는 지명을 추가하려고 합니다.
Cafe 모델을 다음과 같이 수정합니다.
from django.db import models class Cafe(models.Model): name = models.CharField(max_length=50) locations = [ ('Hangyeong-myeon', '한경면'), ('Hallim-eup', '한림읍'), ('Aewol-eup', '애월읍'), ('Jeju-si', '제주시'), ('Jocheon-eup', '조천읍'), ('Gujwa-eup', '구좌읍'), ('Daejeong-eup', '대정읍'), ('Andeok-myeon', '안덕면'), ('Seogwipo-si', '서귀포시'), ('Namwon-eup', '남원읍'), ('Pyoseon-myeon', '표선면'), ('Seongsan-eup', '성산읍'), ('Udo-myeon', '우도면'), ] location = models.CharField(max_length=50, choices=locations) mainphoto = models.ImageField(blank=True, null=True) published_date = models.DateTimeField(auto_now_add=True) modified_date = models.DateTimeField(auto_now=True) content = models.TextField() def __str__(self): return self.name
 
(myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py makemigrations ..중략.. Select an option: 1 ..중략.. >>> '제주시' (myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py migrate
 
makemigrations를 할 때 option을 선택하는 창이 떴을 거에요. 이는 우리가 옵션으로 null=True를 주지 않아서 기존 저장되어 있던 게시물에는 어떤 값을 입력할지 DB가 모르기 때문입니다.
1번을 입력하여 직접 입력하겠다고 하고, 그 전에 있던 cafe는 '제주시'로 초기화 합니다. 만약 여기서 이상한 값을 입력하더라도 admin 사이트에서 변경할 수 있어요.
 
notion imagenotion image
 
이후 admin 페이지를 이용해 cafename1 ~ cafename3 까지 차례로 애월읍, 제주시, 조천읍으로 수정하겠습니다.
notion imagenotion image
 
💡
admin 사이트에 제대로 반영이 안되어 있는 이유는 우리가 직접 입력한 '제주시'라는 값 대신 'Jeju-si'를 입력해야 하기 때문에 그렇습니다.