django-delegate

Sagteware kiekie:
django-delegate
Sagteware besonderhede:
Weergawe: 0.2.6
Upload datum: 15 Apr 15
Ontwikkelaar: Alexander Bohn
Lisensie: Gratis
Populariteit: 8

Rating: 2.0/5 (Total Votes: 1)

Django-afgevaardigde is 'n Django app outomaties kry serie skakel baar bestuurder / QUERYSET AFGEVAARDIGDE METODES.
Gewoonlik, deur die definisie bestuurder metodes, Django kan jy dit doen:
>>> SomeModel.objects.custom_query ()
... Maar dit sal nie toelaat dat jy dit doen:
>>> SomeModel.objects.custom_query (). Another_custom_query ()
... Tensy jy dupliseer jou metodes en 'n onnodige queryset subklas ... definieer tot nou toe.
Met DelegateManager endelegate, kan jy onderhoubare maat navraag logika met gratis aaneenskakeling skryf. in plaas van die definisie bestuurder metodes, jy queryset metodes definieer, versier die mense wat jy wil om te delegeer, en 'n twee-line DelegateManager subklas spesifiseer die queryset. ET VIOLA. Soos so:
uit afgevaardigde invoer DelegateManager, delegeer
klas CustomQuerySet (models.query.QuerySet):
& Nbsp;delegate
& Nbsp; def qs_method (self, some_value):
& Nbsp; terugkeer self.filter (some_param__icontains = some_value)
& Nbsp; def dont_delegate_me (self):
& Nbsp; terugkeer self.filter (some_other_param = "iets anders")
klas CustomManager (DelegateManager):
& Nbsp; __ queryset__ = CustomQuerySet
klas SomeModel (models.Model):
& Nbsp; voorwerpe = CustomManager ()
# Hierdie sal werk:
SomeModel.objects.qs_method ('yo Dogg')
# Hierdie sal ook werk:
SomeModel.objects.qs_method ('yo Dogg). Qs_method ("Ek het gehoor wat jy wil queryset metode afvaardiging')
Aan al die metodes in 'n QuerySet outomaties delegeer, kan jy 'n subklas van DelegateQuerySet skep. Hierdie twee QuerySet subklasse werk identies:
uit afgevaardigde invoer DelegateQuerySet, delegeer
klas ManualDelegator (models.query.QuerySet):
& Nbsp;delegate
& Nbsp; def qs_method (self):
& Nbsp; # ...
klas AutomaticDelegator (DelegateQuerySet):
& Nbsp; def qs_method (self):
& Nbsp; # ...
Jy kan ook aansoek doen om diedelegate versierder direk aan 'n klas - dit laat jou al die metodes in 'n klas te delegeer sonder om sy erfenis ketting. Hierdie voorbeeld werk identies aan die vorige twee:
uit afgevaardigde invoer afgevaardigde
delegate
klas CustomQuerySet (models.query.QuerySet):
& Nbsp; def qs_method (self, some_value):
& Nbsp; terugkeer self.filter(some_param__icontains=some_value)

Requirements:

  • Python
  • Django

Ander sagteware ontwikkelaar Alexander Bohn

django-signalqueue
django-signalqueue

20 Feb 15

hdf5-django
hdf5-django

20 Feb 15

h5dj
h5dj

20 Feb 15

Kommentaar te django-delegate

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!