inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

에러 발생 질문드립니다

해결된 질문

529

오형주

작성한 질문수 3

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을 어떠한 명시없이 똑같이 참조하는 원리인것 같은데요.

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

감사합니다.

HTML/CSS javascript docker django tdd bootstrap aws python

답변 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

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

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

로그인 오류

0

88

2

docker-compose down 안되는 현상

0

206

2

url pattern관련 문의

0

199

2

오류

0

255

1

doitdjango 블로그 게시판 작동 오류

1

302

1

구글 로그인 오류 .

0

463

2

makemigrations 을 했는데 aws lightsail에서

0

205

1

안녕하세요 강사님,

0

403

2

맥북 프로 14 가상화 확인

0

439

2

테스트 코드 오류

0

389

2

섹션 6-2 알림 내용 중 링크가 잘못되어 있네요.

0

284

2

장고 개발 준비.

0

410

2

Mac

0

322

1

TDD 통과 했지만, 실제 웹에서 작동하지 않습니다.

0

375

1

summernote를 적용하고 이미지를 업로그하면 모바일에서 볼때는 이미지가 크게 나오는데 어떻게 해야 되나요?

0

916

2

python manage.py test 를 돌리면 allauth.socialaccount.models.SocialApp.DoesNotExist 에러가 뜹니다.

1

1696

2

self.client.post에 글이 생성되지않습니다

0

339

1

Nginx 설정 이후 개발용 도커 컨테이너 실행

0

552

1

UpdateView - 포스트 수정 페이지 만들기 에서 질문이 있습니다.

0

405

1

from .models import Question

0

1221

1

파이참 장고 인식 불가 문제

0

1006

2

배포용 도커 컨테이너 실행이 안됩니다

0

717

1

docker-compose exec web manage.py migrate

0

555

1

search_info가 안나옵니다..

0

361

2