Django Query: поиск по переменной и жестко закодированному значению - PullRequest
0 голосов
/ 06 января 2010

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

Вот класс:

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)

В качестве примера, существует AdvertisingType, где type = "Inner Page"

Когда я использую это утверждение:

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 = "Внутренняя страница"

Есть идеи?

1 Ответ

0 голосов
/ 06 января 2010

Я понял это. Проблема в том, когда я позвонил

tag_name, number, type_ad = token.split_contents()

Я забыл, что type_ad получает "" из тега шаблона.

Когда я растрепался

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

до

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

все работало

...