Django查询集结果

时间:2014-12-03 00:58:13

标签: django python-2.7

我正在寻找在django中运行查询并返回整行的数据。在SQL中我写“SELECT * FROM SAMPLE WHERE PK = 1”。如何在django中运行过滤器但仍返回整行数据?我理解过滤器但它只返回一个值而不是整行数据。我的问题是与过滤器有关,我是如何与查询集交互的,还是我如何整理模型的问题?以下示例......

class Sample(models.Model):
    PID=UUIDField()
    ClientID=models.TextField()
    Key=models.TextField()

    def __unicode__(self):
        return self.ClientID



output=Sample.objects.filter(PK=1)

Results:<Sample: ClientID1> 

1 个答案:

答案 0 :(得分:0)

要将行解析为Sample对象(假设存在唯一的对象),请使用

output = Sample.objects.get(pk=1)

然后,您可以像访问任何其他对象一样访问其字段:object.PIDobject.ClientIDobject.Key。您可能希望捕获没有返回匹配行的情况:

try:
    output = Sample.objects.get(pk=1)
except Sample.DoesNotExist:
    # Do something about non-existent row