Django-qmethod ay isang Django app para sa madaling pagtukoy sa mga operasyon sa mga koleksyon ng mga modelo Django (iyon ay, QuerySets at Managers).
Isang araw, Umaasa ako na ang isang bagay tulad na ito ay kasama sa Django core.
Paggamit
Pangunahing paggamit ay ang mga sumusunod:
-import cPickle bilang atsara
mula django.db pag-import ng mga modelo
mula sa pag-import djqmethod Manager, querymethod
klase Group (models.Model):
& Nbsp; pass
class na Tao (models.Model):
& Nbsp;. Kasarian = dict (m = 'Male', f = 'Babae', u = 'Hindi Tinutukoy na') item ()
& Nbsp; grupong = models.ForeignKey (Group, related_name = 'tao')
& Nbsp; kasarian = models.CharField (MAX_LENGTH = 1, mga pagpipilian = kasarian)
& Nbsp; edad = models.PositiveIntegerField ()
& Nbsp; # Tandaan: kailangan mong lumikha ng isang tahasang manager dito.
& Nbsp; bagay = Manager ()
& Nbsp;querymethod
& Nbsp; def mga menor de edad (query):
& Nbsp; return query.filter (age__lt = 18)
& Nbsp;querymethod
& Nbsp; def matanda (query):
& Nbsp; return query.filter (age__gte = 18)
# Ang `mga menor de edad ()` `at may sapat na gulang ()` pamamaraan ay magiging available sa mga tagapamahala:
igiit ang isinstance (Person.objects.minors (), models.query.QuerySet)
# Nila ang magagamit sa mga kasunod na querysets:
igiit ang isinstance (Person.objects.filter (kasarian = 'm'). menor de edad (),
& Nbsp; models.query.QuerySet)
# Nila makikita din magiging available sa mga relasyon, kung sila ay halo-halong sa sa
# Default manager para sa na modelo:
grupo = Group.objects.all () [0]
igiit ang isinstance (group.people.minors (), models.query.QuerySet)
# Ang QuerySets ginawa ay ganap atsara-safe:
igiit ang isinstance (pickle.loads (pickle.dumps (Person.objects.minors ())),
& Nbsp; models.query.QuerySet)
Ang isang pagsubok na proyekto ay matatagpuan sa pagsubok / halimbawa /; kumonsulta na ito para sa isang mas malawak na halimbawa.
Pag-install
buto ng bungang-kahoy-install Django-qmethod
Mga Kinakailangan :
- Python
- Django
Mga Komento hindi natagpuan