인프런 커뮤니티 질문&답변

오형주님의 프로필 이미지
오형주

작성한 질문수

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

블로그 목록 페이지에 대한 테스트 코드 만들기

에러 발생 질문드립니다

해결된 질문

작성

·

441

0

안녕하세요,

tests.py에

from django.test import TestCase, Client
from bs4 import BeautifulSoup
from .models import Post


class TestView(TestCase):
def setUp(self):
self.client = Client()

def test_post_list(self):
pass

이렇게만 입력해도 python manage.py test를 하면 다음과 오류가 납니다. (오류는 첫번째줄과 마지막 줄만 올립니다)

Creating test database for alias 'default'...

Traceback (most recent call last):

  File "C:\Do_it_django_2\venv\lib\site-packages\django\db\models\options.py", line 608

, in get_field

    return self.fields_map[field_name]

KeyError: 'updated_at'

raise FieldDoesNotExist("%s has no field named '%s'" % (self.object_name, field_name))

django.core.exceptions.FieldDoesNotExist: Post has no field named 'updated_at'

근데, 마이그레이션도 다 완료했고, models.py에도 updated_at이 선언되어 있습니다. 보니까 문제가 Post를 import하는 곳에서 나는것이 아니고, def test_post_list(self) 함수 자체에서 나는것 같더라고요. 이게 아마도 view의 PostList 클래스가 post_list.html을 자동으로 불러오는 것처럼 똑같이 test_post_list 도 post_list.html을 어떠한 명시없이 똑같이 참조하는 원리인것 같은데요.

어떻게 해결해야 할지 몰라 질문드립니다. 더 필요한 코드가 있으시면 말씀해주세요.

감사합니다.

답변 3

0

오형주님의 프로필 이미지
오형주
질문자

migration 파일을 모두 지우고 다시 했더니 작동이 되었습니다.

migration을 해도 반영이 잘 안되는 경우가 있나보네요..

오래 걸려 찾았습니다 ㅠ

0

오형주님의 프로필 이미지
오형주
질문자

답변 감사합니다.

models.py

from django.db import models
import os

class Post(models.Model):
title = models.CharField(max_length=50)
hook_text = models.CharField(max_length=100, blank=True)
content = models.TextField()

head_image = models.ImageField(upload_to='blog/images/%Y/%m/%d/', blank=True)
file_upload = models.FileField(upload_to='blog/files/%Y/%m/%d/', blank=True)

created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
# author: 추후 작성 예정

def __str__(self):
return f"{self.pk} {self.title}"

def get_absolute_url(self):
return f'/blog/{self.pk}'

def get_file_name(self):
return os.path.basename(self.file_upload.name)

def get_file_ext(self):
return self.get_file_name().split('.')[-1]

0

SungYong Lee님의 프로필 이미지
SungYong Lee
지식공유자

아무래도 models.py에 문제가 있는지 확인하고싶은데요. 

models.py 내용도 보여주시겠어요?

오형주님의 프로필 이미지
오형주

작성한 질문수

질문하기