간단한 모델 MyModel의 날짜 필드는 publication_date입니다. 또한이 날짜 필드를 기반으로 내 모델을 필터링하는 사용자 지정 관리자가 있습니다.Django : get_previous_by_FOO()에서 사용자 정의 관리자를 사용하는 방법?
이 지정 관리자 가 .objects에 의해 기본 하나를 .published으로 액세스 할 수 있습니다.
from datetime import date, datetime
from django.db import models
class MyModelManager(models.Manager):
def get_query_set(self):
q = super(MyModelManager, self).get_query_set()
return q.filter(publication_date__lte=datetime.now())
class MyModel(models.Model):
...
publication_date = models.DateField(default=date.today())
objects = models.Manager()
published = MyModelManager()
이 방법은, 내가 관리자의 모든 개체에 대한 액세스를 가지고 있지만 (MyModel.published.all()의 검색어를 사용) 내보기에 게시 된 것들.
은 내 템플릿에 사용def get_previous(self):
return self.get_previous_by_publication_date()
def get_next(self):
return self.get_next_by_publication_date()
나는 또한 한 :
{{ object.get_previous }}
문제를 사용하여 내가 이전 및 다음 객체에 링크 할 수있는 객체를 볼 때입니다 :이 이전 반환 기본 질문 모음 (개체)의 개체이며 내 사용자 지정 개체()가 아닙니다.
나는이 기본 모델 함수 (get_previous_by_FOO)에서 내 사용자 정의 관리자를 사용하여 어떻게 말할 수 있는지 궁금합니다. 또는 가능하지 않은 경우 다른 솔루션을 사용하여 동일한 작업을 수행하는 방법
미리 조언 해 주셔서 감사합니다.
편집
이 뷰는 일반 뷰에서 object_detail 사용하여 내 urlconf에서이 방법이라고합니다.
(r'^(?P<slug>[\w-]+)$', object_detail,
{
'queryset': MyModel.published.all(),
'slug_field': 'slug',
},
'mymodel-detail'
),
저는 장고 1.2를 사용하고 있습니다.
{{object.get_previous}}가 포함 된 템플릿을 렌더링하는 뷰에서 어떤 쿼리 세트를 사용하고 있습니까? 아마 문제가 거기에있다. –
내 커스텀 매니저와 함께 일반 뷰 (django 1.2)를 사용한다. 이것은 이것을 사용하지 않습니다. – daks
urlconf를 보여줄 수 있습니까? 보기를 참조하는 곳 –