我正在尝试查询一个对象,当我对其工作的值进行硬编码时,但当我使用变量时,查询不起作用。
这是班级:
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 =“内页”
有什么想法吗?
答案 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])
一切顺利