13. 모델에 정보 추가하기

subphoto 추가

이번에는 사진 한장을 더 추가할 수 있도록 models.py 파일을 수정하겠습니다. 마찬가지로 makemigrtionsmigrate를 입력해주세요.
 
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', '구좌읍'), ('Udo-myeon', '우도면'), ('Seongsan-eup', '성산읍'), ('Pyoseon-myeon', '표선면'), ('Namwon-eup', '남원읍'), ('Seogwipo-si', '서귀포시'), ('Andeok-myeon', '안덕면'), ('Daejeong-eup', '대정읍'), ] location = models.CharField(max_length=50, choices=locations) lat = models.FloatField(null =True) lng = models.FloatField(null=True) mainphoto = models.ImageField(blank=True, null=True) subphoto = 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 (myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py migrate
 
세 카페에 모두 subphoto로 다음 사진을 넣었습니다.
notion imagenotion image
 

전화번호 & 인스타 계정

이번에는 cafelist에서 필요한 항목들을 추가해 보도록 하겠습니다. 마찬가지로 makemigrtions와 migrate를 입력해주세요.
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', '구좌읍'), ('Udo-myeon', '우도면'), ('Seongsan-eup', '성산읍'), ('Pyoseon-myeon', '표선면'), ('Namwon-eup', '남원읍'), ('Seogwipo-si', '서귀포시'), ('Andeok-myeon', '안덕면'), ('Daejeong-eup', '대정읍'), ] location = models.CharField(max_length=50, choices=locations) lat = models.FloatField(null =True) lng = models.FloatField(null=True) mainphoto = models.ImageField(blank=True, null=True) subphoto = models.ImageField(blank=True, null=True) published_date = models.DateTimeField(auto_now_add=True) modified_date = models.DateTimeField(auto_now=True) content = models.TextField() phone = models.CharField(max_length=20) insta = models.CharField(max_length=20) def __str__(self): return self.name
 
(myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py makemigrations ..중략.. Select an option: 1 ..중략.. >>> 'test' ..중략.. Select an option: 1 ..중략.. >>> 'test' (myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py migrate
 
makemigrations 시에 기존 카페들의 값은 임시로 아무 문자열('test')을 넣고, 완료된 후 Admin 창에서 원하는 값들을 넣습니다. 필드가 2개이기 때문에 2번 입력해야 합니다.
notion imagenotion image
 
공식문서에 보시면 blank와 null에 관련된 내용이 있습니다. blank는 사용자가 입력하더라도 비어도 괜찮다는 뜻이고, null은 DB가 비어있어도 된다는 옵션입니다.
 
 
notion imagenotion image