2014-10-28 4 views
0

나는 django에서 웹 로그 어플리케이션을 작성 중입니다. 이것의 일부로 하나의 블로그 게시물에 해당하는 데이터베이스에서 객체를 가져 오는 뷰 기능이 있습니다. 데이터베이스 쿼리에 사용하는 필드는 DateTime (Python) 유형의 게시 된 날짜 (pub_date)입니다. MySQL 데이터베이스가 있고이 필드에 대한 열의 유형은 datetime입니다. 하지만 올바른 날짜 속성을 전달하고 있지만 데이터베이스에서 개체를 가져올 수 없습니다.장고에서 데이터를 검색 할 수 없습니다.

def entry_detail(request,year,month,day,slug): 
    import datetime,time 
    date_stamp = time.strptime(year+month+day,"%Y%b%d") 
    pub_date = datetime.date(*date_stamp[:3]) 
    entry = get_object_or_404(Entry,pub_date__year=pub_date.year,pub_date__month=pub_date.month,pub_date__day=pub_date.day,slug=slug) 
    return render_to_response('coltrane/entry_detail.html',{'entry':entry}) 

다음은 내가 가져 오기 할 개별 게시물의 URL입니다 : 내가 다음 404 됩니다이을 얻고 나의보기 기능입니다

http://127.0.0.1:8000/weblog/2014/oct/28/third-post/ 

을 그리고 이것은 어떻게 PUB_DATE 열입니다

: 다음

2014-10-28 13:26:39 

는 URL 패턴입니다 : 같은 데이터베이스에서 세 번째로 게시물에 대한 값은 보인다

답변

1

time으로 변환하고 datetime.date으로 변환 한 다음 년, 월, 일을 정수로 추출하여 쿼리에 전달합니다. 당신은 거의 모든 과정을 거치지 수 :

month_no = datetime.datetime.strptime(month, '%b').month 
entry = get_object_or_404(Entry, pub_date__year=year, pub_date__month=month_no, pub_date__day=day, slug=slug) 
+0

감사 @Daniel,하지만 난 여전히 404 오류가 발생합니다 : : 당신이 필요로하는 유일한 것은 달을 변환하는 것입니다, 다른 매개 변수를 직접 전달 될 수 없음 항목은 주어진 일치 질문. 데이터베이스의 열 유형과 관련하여 뭔가를해야한다고 생각하십니까? –

+0

이보기의 URL 패턴을 표시 할 수 있습니까? 그리고 어리석은 질문,하지만 당신은 물론 슬러그가 데이터베이스에서도 정확하다고 확신합니까? –

+0

네, 슬러그도 확인했고, 쿼리에서 전달하는 슬러그와 일치합니다. 또한 URL 패턴을 포함하도록 질문을 업데이트했습니다. –

관련 문제