【问题标题】:Django Query: lookup with variable vs. hard coded valueDjango Query:使用变量与硬编码值查找
【发布时间】:2010-01-06 15:48:45
【问题描述】:

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

课程如下:

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"

有什么想法吗?

【问题讨论】:

    标签: django django-models django-queryset


    【解决方案1】:

    我想通了。问题是当我打电话时

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

    一切正常

    【讨论】:

      猜你喜欢
      • 2017-08-17
      • 1970-01-01
      • 2017-07-29
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多