Django-qmethod is 'n Django app vir maklik definieer bedrywighede op versamelings Django modelle (dit is, QuerySets en Bestuurders).
Een dag, ek hoop om iets soos hierdie is ingesluit in Django kern.
Gebruik
Basiese gebruik is soos volg:
invoer cPickle as piekel
van django.db invoer modelle
van djqmethod invoer Bestuurder, querymethod
klas Group (models.Model):
& Nbsp; pass
klas Persoon (models.Model):
& Nbsp;. Geslagte = dict (m = 'Man', f = 'vroulike', u = 'Ongespesifiseerde') items ()
& Nbsp; groep = models.ForeignKey (Groep, related_name = 'mense')
& Nbsp; geslag = models.CharField (MAX_LENGTH = 1, keuses = geslagte)
& Nbsp; ouderdom = models.PositiveIntegerField ()
& Nbsp; # Let wel: jy moet 'n eksplisiete bestuurder hier skep.
& Nbsp; voorwerpe = Bestuurder ()
& Nbsp;querymethod
& Nbsp; def minderjariges (navraag):
& Nbsp; terugkeer query.filter (age__lt = 18)
& Nbsp;querymethod
& Nbsp; def volwassenes (navraag):
& Nbsp; terugkeer query.filter (age__gte = 18)
# Die `minderjariges ()` en `volwassenes ()` metodes sal beskikbaar wees op die bestuurder:
beweer isinstance (Person.objects.minors (), models.query.QuerySet)
# Hulle sal beskikbaar wees op die daaropvolgende querysets wees:
beweer isinstance (Person.objects.filter (geslag = 'm'). minderjariges (),
& Nbsp; models.query.QuerySet)
# Hulle sal ook beskikbaar wees op verhoudings wees, as hulle gemeng in die
# Verstek bestuurder vir daardie model:
groep = Group.objects.all () [0]
beweer isinstance (group.people.minors (), models.query.QuerySet)
# Die QuerySets geproduseer is heeltemal piekel-veilige:
beweer isinstance (pickle.loads (pickle.dumps (Person.objects.minors ())),
& Nbsp; models.query.QuerySet)
'N Toets projek is geleë in die toets / voorbeeld /; raadpleeg dit vir 'n meer omvattende voorbeeld.
Installasie
PIP installeer Django-qmethod
Vereistes :
- Python
- Django
Kommentaar nie gevind