작성
·
485
답변 4
13
문제를 해결했습니다.
django v3.0.4 사용중인데~
author = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
이와 같이 변경하니 migrate를 수행 후 웹에서 정상으로 보이지 않았던 'author' 정상적으로 나타났습니다.
7
안녕하세요. 12월 4일자로 django 3.0 이 발표되었습니다. 그 이후에 django를 설치하셨다면 django 3.0이 설치되었을겁니다. 그 전 버전은 2.2x 버전입니다.
django 3.0에서 on_delete=true를 더 이상 지원하지 않는 것 같습니다. on_delete=models.CASCADE 로 수정하면 해당 문제는 해결됩니다만, 그 이후로도 몇가지 문제가 발생할 가능성이 있습니다.
따라서 터미널에서 pip uninstall django 하시고, pip install django==2.2 로 설치하시면 됩니다.
0
models.py 코딩 냉용~
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=30)
content = models.TextField()
created = models.DateTimeField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return '{} :: {}'.format(self.title, self.author)
0
위에서 설명한 대로 하였지만...
(venv) λ python manage.py makemigrations blog
You are trying to add a non-nullable field 'author' to post without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
2) Quit, and let me add a default in models.py
Select an option: