2013-03-26 10 views
6

में एक डेटाबेस तालिका में पंक्तियों की संख्या गिनती करने के लिए मैं Django मॉडल है, जहां status और id और username तालिका Messages के क्षेत्र हैं द्वारा बनाई गई डेटाबेस है।कैसे Django

मुझे किसी विशेष username के लिए status value= 0 पंक्तियों की संख्या गिनने की आवश्यकता है।

यह मेरा अधूरा कोड है:

Message_me = Messages.objects.get(username='myname') 

उत्तर

15

इस कोड का प्रयास करें:

Message_me = Messages.objects.filter(username='myname', status=0).count() 
+0

उपयोग कर सकते हैं हाँ यह ठीक ...... :) – Friend

1

आप पायथन के len() उपयोग कर सकते हैं या अपनी आवश्यकताओं पर निर्भर करता है किसी भी क्वेरीसमूह पर count() विधि का उपयोग करें। यह भी ध्यान दें, len() का उपयोग करके क्वेरीसेट का मूल्यांकन किया जाएगा, इसलिए प्रदत्त count() विधि का उपयोग करना हमेशा संभव है।

यह रूप में इस्तेमाल किया जा सकता है:

message_count = models.Messages.objects.filter(username='username', status=0).count() 

वैकल्पिक रूप से, (यदि आप प्रदर्शन के बारे में चिंता मत करो) आप भी उपयोग कर सकते हैं len():

message_count = len(models.Messages.objects.filter(username='username', status=0)) 

तुम भी QuerySet API Documentation के लिए के माध्यम से जाना चाहिए अधिक जानकारी।

+0

हाय Amyth .. यहां तक ​​कि अपना कोड अपडेट करने के लिए बहुत सरल :) धन्यवाद लग रहा है काम करता है .. । – Friend

0

संख्या प्राप्त करने के लिए आप मॉडल

// In models.py 
class A(models.Model): 
    name = models.CharField(max_length=200) 

// In views.py 
from .models import A 
def index(View): 
    c = A.objects.filter(username='myname', status=0).count() 
    print c // This will give you the count of the rows