Django-qmethod היא אפליקציה Django בקלות להגדיר פעולות על אוספים של מודלים Django (כלומר, QuerySets ומנהלים).
יום אחד, אני מקווה שדבר כזה נכלל בליבת Django.
שימוש
שימוש בסיסי הוא כדלקמן:
cPickle יבוא כחמוץ
ממודלי יבוא django.db
ממנהל יבוא djqmethod, querymethod
מעמד קבוצה (models.Model):
& Nbsp; כרטיס
אדם כיתה (models.Model):
& Nbsp;. מינים = dict (מ '=' זכר ', ו' נקבה '=, u =' לא צוין ') פריטים ()
& Nbsp; קבוצה = models.ForeignKey (קבוצה, related_name = 'אנשים')
& Nbsp; מגדר = models.CharField (MAX_LENGTH = 1, בחירות = מינים)
& Nbsp; גיל = models.PositiveIntegerField ()
& Nbsp; # הערה: אתה צריך ליצור מנהל מפורש כאן.
& Nbsp; חפצים = Manager ()
& Nbsp;querymethod
& Nbsp; קטינים def (שאילתא):
& Nbsp; query.filter תמורה (age__lt = 18)
& Nbsp;querymethod
& Nbsp; מבוגרים def (שאילתא):
& Nbsp; query.filter תמורה (age__gte = 18)
# `קטינים ()` `ומבוגרים ()` שיטות תהיה זמינות במנהל:
טוען isinstance (Person.objects.minors (), models.query.QuerySet)
# הם יהיו נגיש בquerysets הבא:
טוען isinstance (Person.objects.filter (מגדר = 'מ'). קטינים (),
& Nbsp; models.query.QuerySet)
# הם יהיו זמינים גם ביחסים, אם הם היו מעורבים ל
מנהל ברירת מחדל # עבור דגם זה:
קבוצה = Group.objects.all () [0]
טוען isinstance (group.people.minors (), models.query.QuerySet)
# QuerySets מיוצר לגמרי חמוץ-בטוח:
טוען isinstance (pickle.loads (pickle.dumps (Person.objects.minors ())),
& Nbsp; models.query.QuerySet)
פרויקט מבחן ממוקם במבחן / דוגמא /; להתייעץ זה לדוגמה מקיפה יותר.
התקנה
PIP להתקין Django-qmethod
דרישות :
- Python
- Django
תגובות לא נמצא