Zgjidhur: pyetjet e modelit django

Një nga problemet kryesore me pyetjet e modelit Django është se ato mund të jenë shumë të folura. Për shembull, nëse doni të gjeni të gjithë artikujt në një blog të caktuar, do t'ju duhet të përdorni një pyetje si kjo:

artikuj = Blog.objects.all()

Nëse dëshironi të gjeni të gjithë artikujt që janë botuar muajin e fundit, do t'ju duhet të përdorni një pyetje si kjo:

articles_published_in_the_last_month = Blog.objects.filter(published=E vërtetë)

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)

Nëse dëshironi të renditni grupin e pyetjeve, mund të përdorni metodën Model.objects.order_by(field_name), e cila do ta rendit grupin e pyetjeve sipas fushës së dhënë në rend rritës. Ju gjithashtu mund të përdorni prefiksin '-' për të renditur në rend zbritës:

Model.objects.order_by('-emri')

Çfarë është QuerySet

Një QuerySet është një koleksion modelesh të lidhura që mund të kërkohen së bashku. Është një mënyrë e përshtatshme për të grupuar modelet së bashku në mënyrë që t'i kërkoni lehtësisht ato si njësi.

Shprehjet e pyetjeve

Një shprehje pyetëse është një mënyrë e fuqishme për të filtruar të dhënat në Django. Është e ngjashme me një klauzolë WHERE në një pyetje SQL, por mund të përdoret me çdo objekt model.

Për shembull, mund të përdorni një shprehje pyetëse për të gjetur të gjithë artikujt me një titull që fillon me "Si të":

articles.filter(title__startswith='Si')

Referenca e API-së së cilësimit të pyetjeve

QuerySet API ofron një mënyrë për të kërkuar fushat e një modeli dhe të dhënat përkatëse. API është modeluar sipas deklaratës SQL SELECT dhe ju lejon të specifikoni se cilat fusha dëshironi të rikuperoni, në çfarë rendi dëshironi që ato të kthehen dhe sa rreshta të dhënash dëshironi të ktheheni.

Për të përdorur QuerySet API, së pari krijoni një objekt model:

nga django.db importi i modeleve të klasës MyModel(models.Model): emri = modele.CharField(max_length=30)

Pastaj krijoni një objekt pyetësor:

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

Mesazhe të ngjashme:

Lini një koment