-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
AssertionError가 뜹니다.
20.08.02 08:22 작성 조회수 37
0
삭제된 글입니다
답변을 작성해보세요.
0
0
SungYong Lee
지식공유자2020.08.03
방금 테스트를 해보니, pk, id로 해도 문제는 없습니다.
이상해서 올려주신 테스트를 자세히 살펴보니,
self.assertEqual(tag_001.post_set.first(), post_001) # 하나의 tag는 자신을 가진 post들을 불러올 수 있다.
self.assertEqual(tag_001.post_set.last(), post_000) # 하나의 tag는 자신을 가진 post들을 불러올 수 있다.
이렇게 쓰셔야 하는데, post_001과, post_000을 반대로 쓰신 것 같은데요?
0
0
SungYong Lee
지식공유자2020.08.03
제가 지금 밖이라 테스트를 해볼 수가 없네요. pk가 아니라 id로 해보면 될지도몰라요. 혹시 안되시면 답글 달아주세요. 집에 가서 테스트해보겠습니다
0
0
0
0
SungYong Lee
지식공유자2020.08.02
models.py의 Post 클래스(모델)에서
class Meta:
ordering = ['-created',]
가 설정되어 있나요? Post가 작성시점의 역순으로 정렬되기 때문에, tag_001.post_set.first() 하면, 가장 나중에 작성된 post_001이 나와야 합니다.
이 부분이 설정되어 있지 않았다면 post_000이 나오게 되죠.
혹시 class Meta가 제대로 설정되어 있는데도 이런 현상이 나타난다면, 컴퓨터가 너무 빨라서 첫번째와 두번째 생성되는 post의 시간이 동일하기 때문입니다. 이런 경우라면, ordering='-pk'로 수정해보세요.
답변 8