从django模型返回的值有问题

时间:2015-12-30 12:33:36

标签: python django

我有一个看起来像这样的模型

class Regions(models.Model):
    region_id = models.IntegerField(null=True, blank=True)
    country_id = models.IntegerField()
    regionname = models.CharField(max_length=500)

    def __str__(self):
       return '%s %s %s' % (self.region_id, self.country_id, self.regionname)

以及从数据库获取数据的视图

get_region = Regions.objects.filter(country_id = country_id)

print get_region
print get_region[0]
print get_region[1]

get_region返回数据库中与country_id匹配的每一行的列表:

[<Regions: 1 1 Rtest1>, <Regions: 2 1 Rtest2>, <Regions: 3 1 Rtest3>]

get_region[0]返回我想要的特定行,但它仍然采用以下格式:

1 1 Rtest1

我试图从上面得到的每个值都没有运气,有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:0)

在模板中,您可以使用下一种方式:

{% for region in get_region %}
  {{ region.region_id }}
  {{ region.country_id }}
  {{ region.regionname }}
{% endfor %} 

答案 1 :(得分:0)

你可以这样试试,

get_region = [str(region) for region in Regions.objects.filter(country_id = country_id)]

print get_region 
['1 1 Rtest1'] # excepted results