2014-12-03 182 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