सोडवले: django मॉडेल क्वेरी

जॅंगो मॉडेल क्वेरींमधील मुख्य समस्यांपैकी एक म्हणजे ते खूप शब्दशः असू शकतात. उदाहरणार्थ, तुम्हाला दिलेल्या ब्लॉगमधील सर्व लेख शोधायचे असल्यास, तुम्हाला यासारखी क्वेरी वापरावी लागेल:

लेख = Blog.objects.all()

जर तुम्हाला गेल्या महिन्यात प्रकाशित झालेले सर्व लेख शोधायचे असतील, तर तुम्हाला अशी क्वेरी वापरावी लागेल:

articles_published_in_the_last_month = Blog.objects.filter(प्रकाशित=True)

There are a number of ways to query a Django model. The simplest way is to use the Model.objects.all() method, which will return all objects for that model.

If you want to filter the queryset, you can use the Model.objects.filter(**kwargs) method, where kwargs is a dictionary of field names and values to filter on. For example, if you only wanted objects with a certain value for the 'name' field, you could do:

Model.objects.filter(name='value')

If you want to get a single object from the queryset, you can use the Model.objects.get(**kwargs) method, which will return the first object that matches the given criteria. For example, if you wanted to get an object with a particular 'id' value:

Model.objects.get(id=1)

जर तुम्हाला क्वेरीसेट ऑर्डर करायचा असेल, तर तुम्ही Model.objects.order_by(field_name) पद्धत वापरू शकता, जी दिलेल्या फील्डद्वारे क्वेरीसेटला चढत्या क्रमाने ऑर्डर करेल. उतरत्या क्रमाने ऑर्डर करण्यासाठी तुम्ही '-' उपसर्ग देखील वापरू शकता:

Model.objects.order_by('-name')

QuerySet म्हणजे काय

QuerySet हा संबंधित मॉडेल्सचा संग्रह आहे ज्याची एकत्र चौकशी केली जाऊ शकते. मॉडेल्सचे एकत्र गट करण्याचा हा एक सोयीस्कर मार्ग आहे जेणेकरून तुम्ही त्यांना युनिट म्हणून सहजपणे क्वेरी करू शकता.

क्वेरी अभिव्यक्ती

Django मध्ये डेटा फिल्टर करण्यासाठी क्वेरी एक्सप्रेशन हा एक शक्तिशाली मार्ग आहे. हे SQL क्वेरीमधील WHERE क्लॉज सारखे आहे, परंतु ते कोणत्याही मॉडेल ऑब्जेक्टसह वापरले जाऊ शकते.

उदाहरणार्थ, "कसे करावे" ने सुरू होणाऱ्या शीर्षकासह सर्व लेख शोधण्यासाठी तुम्ही क्वेरी एक्सप्रेशन वापरू शकता:

articles.filter(title__startswith='कसे करावे')

क्वेरी सेट API संदर्भ

QuerySet API मॉडेलच्या फील्ड आणि संबंधित डेटाची क्वेरी करण्याचा मार्ग प्रदान करते. API हे SQL SELECT स्टेटमेंट नंतर मॉडेल केलेले आहे, आणि तुम्हाला कोणती फील्ड पुनर्प्राप्त करायची आहेत, तुम्हाला ती कोणत्या क्रमाने परत करायची आहेत आणि तुम्हाला डेटाच्या किती पंक्ती परत करायच्या आहेत हे निर्दिष्ट करण्याची परवानगी देते.

QuerySet API वापरण्यासाठी, प्रथम मॉडेल ऑब्जेक्ट तयार करा:

django.db वरून आयात मॉडेल वर्ग MyModel(models.Model): name = models.CharField(max_length=30)

मग एक क्वेरी ऑब्जेक्ट तयार करा:

query = MyModel.objects.create_query() query.select('name').order_by('-name')

संबंधित पोस्ट:

एक टिप्पणी द्या