2017-01-30 7 views
-1

장고 1.10.5를 사용합니다.장고 URL 고유 URL 열기

entry = get_object_or_404(Post, slug=slug) 

모델 필드 : 내가 예를 들어 내가 열 슬러그 XYZ와 XYZ를 필요로 한 문자열이 동일한 슬러그을 감지 할 필요가

slug = models.SlugField(editable=False) 

내가보기를 열고 고유 한 URL에 문제가 다른 페이지, 지금 django는 생산에 500 페이지를 표시합니다.

url(r'^(?P<slug>[\w-]+)/$', views.single_post, name='single_post'), 

그리고 오류 메시지가 동일한 경우

MultipleObjectsReturned at /pZw/ get() returned more than one Post -- it returned 2! 

내가 감지 할 수있는 방법?

+0

보기에서 슬러그 필드는 두 가지 유형의 패턴을 모두 허용합니다. 예외를 공유해 주시겠습니까? –

+0

MultipleObjectsReturned at/pzw/ get()이 두 개 이상을 반환했습니다. Post - 2를 반환했습니다! –

+0

그리고 그 메시지에 대해 자명하지 않은 것은 무엇입니까? –

답변

0

그런데 get_object_or_404가 1 만 반환 될 것으로 예상되는 두 가지 결과가 발생합니다. 필드 슬러그는 고유하지 않으며 약간의 불일치가 있습니다. 시도해 볼 수 있습니까?

entry = get_object_or_404(Post, slug__exact=slug) 
+0

/pZw/에서 MultipleObjectsReturned get()이 두 개 이상의 포스트를 반환했다. –

+0

'__exact'가 기본 조회입니다. 명시 적으로 지정하면 동작이 변경되지 않습니다. – knbk