2010-01-06 1 views
0

Я пытаюсь запросить объект и когда я жестко кодирую значение, которое он работает, но когда я использую переменную для него, запрос не работает.Django Query: lookup с переменным или жестко закодированным значением

Вот класс:

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]) 

все работало

 Смежные вопросы

  • Нет связанных вопросов^_^