하나의 간단한 쿼리에서 사용자 계정을 검색하고 특정 사용자가 '테마'를 검색하는 스크립트를 만들려고합니다. 여기에 내가 사용하고있는 코드가의 get_account 방법에 유의하십시오 : 그것은,하지만 경우 '테마'객체가 null를 돌려 어떤 이유에서 잘 작동Django - 쿼리 실패시 기본값 사용
class AccountManager(Manager):
def __init__(self, *args, **kwargs):
super(AccountManager, self).__init__(*args, **kwargs)
def get_account(self, slug):
return get_object_or_404(self.select_related('theme'), status__exact=self.model.ACTIVE_STATUS, slug__exact=slug)
(이런 일이 안됩니다을하지만 확신 할 싶어!) 404 페이지로 리디렉션됩니다. 내가 원하는 것은 테마 객체가 존재하고 유효한지 확인하는 것입니다. 그렇지 않은 경우 표준 테마를 기본값으로 사용합니다.
사용자 계정이 유효하지 않은 경우 쿼리를 404 발생시키는 것이 좋습니다. try/exceptions 버킷로드를 사용하지 않아도된다.이 작업을 수행하는 좋은 방법이 있습니까? 나는 그것이 대상이 아닌 것처럼 :)
희망 누군가가 관련 테마가 null의 경우는 404 초래하지 않을 당신의 예에서
안녕하세요, 귀하의 회신에 감사드립니다. 아마 나는 내 포스트에서 명확하지 않았지만, '테마'모델의 DoesNotExist, 계정 모델이 없으면 404를 던져 버릴 때 기본값으로 갈 수 있기를 원합니다. – Hanpan