Lahendatud: django mudeli päringud

Üks peamisi probleeme Django mudelipäringute puhul on see, et need võivad olla väga paljusõnalised. Näiteks kui soovite leida kõiki antud ajaveebi artikleid, peaksite kasutama sellist päringut:

artiklid = Blog.objects.all()

Kui soovite leida kõiki viimase kuu jooksul avaldatud artikleid, peaksite kasutama sellist päringut:

articles_published_in_the_last_month = Blog.objects.filter(published=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)

Kui soovite päringukomplekti järjestada, saate kasutada meetodit Model.objects.order_by(field_name), mis järjestab päringukogumi antud välja järgi kasvavas järjekorras. Saate kahanevas järjekorras järjestamiseks kasutada ka eesliidet '-':

Model.objects.order_by('-nimi')

Mis on QuerySet

QuerySet on seotud mudelite kogum, millest saab koos päringuid teha. See on mugav viis mudelite rühmitamiseks, et saaksite neid hõlpsalt üksusena esitada.

Päringu avaldised

Päringuavaldis on võimas viis Djangos andmete filtreerimiseks. See sarnaneb SQL-päringu WHERE-klausliga, kuid seda saab kasutada mis tahes mudelobjektiga.

Näiteks võite kasutada päringuavaldist, et leida kõik artiklid, mille pealkiri algab sõnadega "Kuidas teha".

articles.filter(title__startswith='Kuidas')

Päringukomplekti API viide

QuerySet API pakub võimalust teha päringuid mudeli väljade ja seotud andmete kohta. API on modelleeritud SQL SELECT-lause järgi ja võimaldab teil määrata, milliseid välju soovite tuua, millises järjekorras soovite need tagastada ja mitu andmerida soovite tagastada.

QuerySet API kasutamiseks looge esmalt mudelobjekt:

django.db-st impordi mudelid klass MinuModel(mudelid.Mudel): nimi = mudelid.CharField(max_length=30)

Seejärel looge päringuobjekt:

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

Seonduvad postitused:

Jäta kommentaar