2010-09-24 76 views
1

要在我的管理員列表視圖中顯示外鍵數據,我創建了一個調用的:問題在Django Admin屏幕顯示相關外鍵數據

def next_date(self): 
    EvDateObj = EventDate.objects.filter(event__id__exact=self.id) 
     .exclude(event_date__lt=datetime.date.today()) 
     .order_by('event_date')[:1] 
    return EvDateObj 

這顯示在列表視圖:

[<EventDate: 25 September 2010>] 

哪是EventDate模型的unicode字符串(2010年9月25日),其中包含一些django生成的對象東西:[< EventDate ______ >]

如果我修改可調用返回語句以嘗試ND剛剛得到的日期本身:

return EvDateObj.event_date 

return EvDateObj.event_date.strftime("%d %B %Y") 

管理員列表視圖中只顯示:

(None) 

有什麼想法?我不確定如何繼續,因爲我可以獲得所需的對象,但無法訪問其任何屬性而不觸發「(無)」結果。

回答

0

你試過:

EvDateObj = EventDate.objects.get(event__id__exact=self.id) 
    .exclude(event_date__lt=datetime.date.today()) 
    .order_by('event_date')[:1] 

objects.filter()總是返回一個QuerySet(類似於Python的列表),即使只有1條結果。 EDateObj.objects.get()將返回一個對象。

或者你可以這樣做:

return EvDateObj[0] 

我還沒有嘗試過自己,所以希望這對你的作品。