안녕하세요~ db 관련 질문이 있어 글 남깁니다!
class Article(models.Model):
writer = models.ForeignKey(User, on_delete=models.SET_NULL, related_name='article', null=True)
title = models.CharField(max_length=200, null=True)
content = models.TextField(null=True)
image = models.ImageField(upload_to='article/', null=True)
created_at = models.DateField(auto_now_add=True, null=True)
위와 같이 models.py를 정의를 해줬구요,
그리고
makemigrations, migrate 명령어를 통해 적용 했습니다.
적용 후에 보니까
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Article',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('writer', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='article', to=settings.AUTH_USER_MODEL)),
],
),
]
이렇게 파일이 생성되었더라구요,
근데 article 을 create 해보니까 title 컬럼이 없다는 에러가 나왔구요,
그래서 다시 makemigrations, migrate 명령어를 통해 적용 했습니다.
그래서 아래와 같은 파일이 하나 더 생겼습니다.
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('articleapp', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='article',
name='content',
field=models.TextField(null=True),
),
migrations.AddField(
model_name='article',
name='created_at',
field=models.DateField(auto_now_add=True, null=True),
),
migrations.AddField(
model_name='article',
name='image',
field=models.ImageField(null=True, upload_to='article/'),
),
migrations.AddField(
model_name='article',
name='title',
field=models.CharField(max_length=200, null=True),
),
]
이렇게 되니까 create 가 잘 적용되더라구요....
음...이렇게 진행을 해도 문제가 없는 것인지, 왜 문제가 발생한 것인지 궁금하기도 합니다....