0

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

这是课程:

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 = "Inner Page"

有任何想法吗?

4

1 回答 1

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

一切正常

于 2010-01-06T15:57:14.557 回答