2014-12-03 136 views
0

我正在寻找在Django中运行查询并返回整行数据。在SQL中,我会写“SELECT * FROM SAMPLE WHERE PK = 1”。如何在django中运行过滤器,但仍然返回整行数据?我了解过滤器,但它只返回单个值而不是整行数据。我的问题与过滤器有关,我如何与查询集进行交互,或者我如何组合我的模型?下面的例子...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

难道你不能只引用这些字段:'output.PID','output.ClientID'等等。 – xnx 2014-12-03 01:04:49

回答

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