Django Query:使用变量与硬编码值进行查找

时间:2010-01-06 15:48:46

标签: django django-models django-queryset

我正在尝试查询一个对象,当我对其工作的值进行硬编码时,但当我使用变量时,查询不起作用。

这是班级:

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,其中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 :(得分:0)

我明白了。问题是当我打电话

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])
一切顺利