从单行查询集

时间:2015-11-25 10:56:17

标签: django iteration django-queryset

我的查询如下:

entry = TableModel.objects.only('id', 'name', 'age').filter(key='ABC')

现在,我知道这个查询将返回一行。这是我通过一些后端逻辑确保的。

在一般情况下,我会通过迭代for循环来提取值,如:

for data in entry:
    print data

但是因为肯定有一行,有没有办法直接获取值并避免loop迭代。如:

  entry.id          #OR
  entry['id']

1 个答案:

答案 0 :(得分:2)

使用get而不是filter;

entry = TableModel.objects.only('id', 'name', 'age').get(key='ABC')

参考这个 https://docs.djangoproject.com/en/1.8/topics/db/queries/