2010-01-06 47 views
0

我想查詢一個對象,當我硬編碼它的工作原理的值,但是當我使用它的變量查詢不起作用。Django查詢:與變量與硬編碼值查找

這裏的類:

class AdvertisementType(models.Model): 
    type = models.CharField(max_length='40') 
    description = models.CharField(max_length='80') 

    def __unicode__(self): 
     return '%s' % self.type 

這裏的查詢:

self.type_ad = AdvertisementType.objects.get(type=type_of_ad) 

舉個例子,有一個AdvertisementType其中類型= 「內頁」

當我使用這個聲明:

self.type_ad = AdvertisementType.objects.get(type="Inner Page") 

一切工作正常,但如果我這樣做

self.type_ad = AdvertisementType.objects.get(type=type_of_ad) 

我得到的錯誤

Caught an exception while rendering: AdvertisementType matching query does not exist. 

即使type_of_ad = 「內頁」

任何想法?

回答

0

我想通了。問題是當我打電話

tag_name, number, type_ad = token.split_contents() 

我忘了type_ad從模板標籤獲取「」。

當我chagned

self.type_ad = AdvertisementType.objects.get(type=type_of_ad) 

self.type_ad = AdvertisementType.objects.get(type=type_of_ad[1:-1]) 

一切工作