我試圖創建一個腳本,它將檢索用戶帳戶,同時特定用戶在一個簡單查詢中記錄「主題」。這裏是我使用的代碼,請注意get_account方法: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如果用戶帳戶無效雖然。嘗試/異常的桶負載不足,是否有一個很好的乾淨的方式來做到這一點?我喜歡讓我的經理漂亮整潔:)
希望有人能幫助
嗨,謝謝你的回覆。也許我在我的文章中並不清楚,但是我希望能夠在「主題」模型DoesNotExist時使用默認值,如果賬戶模型不存在,它將拋出404。 – Hanpan 2010-12-09 14:23:28