django-delegate

צילום מסך תוכנה:
django-delegate
פרטי תוכנה:
גרסה: 0.2.6
טען תאריך: 15 Apr 15
מפתחים: Alexander Bohn
רשיון: ללא תשלום
פופולריות: 8

Rating: 2.0/5 (Total Votes: 1)

Django-ציר הוא אפליקציה Django כדי לקבל באופן אוטומטי MANAGER CHAINABLE / שיטות נציג QUERYSET.
בדרך כלל, על ידי הגדרת שיטות מנהל, Django מאפשר לך לעשות את זה:
>>> SomeModel.objects.custom_query ()
... אבל זה לא ייתן לך לעשות את זה:
>>> SomeModel.objects.custom_query (). Another_custom_query ()
... אלא אם כן אתה לשכפל השיטות שלך ולהגדיר תת queryset מיותר ... עד עכשיו.
עם DelegateManager ו@delegate, אתה יכול לכתוב היגיון מותאם אישית שאילתא לתחזוקה עם שרשור ללא תשלום. במקום להגדיר שיטות מנהל, אתה מגדיר את שיטות queryset, לקשט אותם ברצונך להאציל, ותת DelegateManager שתי שורות המפרטים את queryset. ET VIOLA. כמו כל כך:
מDelegateManager יבוא הנציג, להאציל
הכיתה CustomQuerySet (models.query.QuerySet):
& Nbsp;delegate
& Nbsp; def qs_method (עצמי, some_value):
& Nbsp; self.filter תמורה (some_param__icontains = some_value)
& Nbsp; def dont_delegate_me (עצמי):
& Nbsp; self.filter תמורה (some_other_param = "משהו אחר")
הכיתה CustomManager (DelegateManager):
& Nbsp; __ queryset__ = CustomQuerySet
SomeModel כיתה (models.Model):
& Nbsp; חפצים = CustomManager ()
# זה יעבוד:
SomeModel.objects.qs_method ("דוג יו ')
# זה יעבוד גם:
SomeModel.objects.qs_method ("דוג יו '). Qs_method (" שמעתי שאתה אוהב queryset משלחת שיטה')
להאציל את כל השיטות בQuerySet באופן אוטומטי, אתה יכול ליצור סדרה של DelegateQuerySet. שני subclasses QuerySet אלה פועלים באופן זהה:
מDelegateQuerySet יבוא הנציג, להאציל
ManualDelegator כיתה (models.query.QuerySet):
& Nbsp;delegate
& Nbsp; def qs_method (עצמי):
& Nbsp; # ...
הכיתה AutomaticDelegator (DelegateQuerySet):
& Nbsp; def qs_method (עצמי):
& Nbsp; # ...
ניתן גם להחיל מעצבdelegate ישירות לכיתה - זה מאפשר לך להאציל את כל השיטות בכיתה מבלי לשבש שרשרת הירושה שלה. דוגמא זו עובדת באופן זהה לשתי הקודמים:
מנציג יבוא נציג
delegate
הכיתה CustomQuerySet (models.query.QuerySet):
& Nbsp; def qs_method (עצמי, some_value):
& Nbsp; תשואה self.filter(some_param__icontains=some_value)

Requirements:

  • Python
  • Django

תוכנות אחרות של יזם Alexander Bohn

django-signalqueue
django-signalqueue

20 Feb 15

dwight
dwight

14 Apr 15

תגובות ל django-delegate

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!