django-delegate

Programinė įranga Screenshot:
django-delegate
Programinė detalės:
Versija: 0.2.6
Įkėlimo datą: 15 Apr 15
Kūrėjas: Alexander Bohn
Licencija: Nemokamai
Populiarumas: 8

Rating: 2.0/5 (Total Votes: 1)

django-delegatas yra Django programai gauti AUTOMATIŠKAI CHAINABLE Manager / QUERYSET deleguoti metodus.
Paprastai, apibrėžiant vadybininkas metodus, Django leidžia jums tai padaryti:
>>> SomeModel.objects.custom_query ()
... Bet tai nebus jums tai padaryti:
>>> SomeModel.objects.custom_query (). Another_custom_query ()
... Jei dubliuoti savo metodus ir apibrėžti nereikalingas queryset poklasis ... iki šiol.
Su DelegateManager irdelegate, galite parašyti prižiūrimi pagal užsakymą užklausos logika nemokamą susiejami. vietoj apibrėžti vadybininkas metodus, jums apibrėžti queryset metodus, papuošti tų, kurias norėtumėte deleguoti ir dviejų eilučių DelegateManager poklasis nurodanti queryset. ET VIOLA. Kaip ir:
nuo deleguoti importo DelegateManager, deleguoti
klasė CustomQuerySet (models.query.QuerySet):
& Nbsp;delegate
& Nbsp; def qs_method (savarankiškai, some_value):
& Nbsp; grąža self.filter (some_param__icontains = some_value)
& Nbsp; def dont_delegate_me (si):
& Nbsp; grąža self.filter (some_other_param = "kažkas")
klasė CustomManager (DelegateManager):
& Nbsp; __ queryset__ = CustomQuerySet
klasė SomeModel (models.Model):
& Nbsp; objektus = CustomManager ()
# Tai veiks:
SomeModel.objects.qs_method (yo Dogg)
# Tai taip pat dirba:
SomeModel.objects.qs_method (yo Dogg). Qs_method ("Girdėjau, jums patinka queryset metodas delegaciją)
Pavesti visi A QuerySet metodų automatiškai, galite sukurti DelegateQuerySet poklasis. Šie du QuerySet poklasiai dirbti vienodai:
nuo deleguoti importo DelegateQuerySet, deleguoti
klasė ManualDelegator (models.query.QuerySet):
& Nbsp;delegate
& Nbsp; def qs_method (si):
& Nbsp; # ...
klasė AutomaticDelegator (DelegateQuerySet):
& Nbsp; def qs_method (si):
& Nbsp; # ...
Jūs taip pat gali taikytidelegate dekoratorius tiesiai į klasę - tai leidžia jums perduoti visus klasės metodus nesutrikdant savo paveldėjimo grandinę. Šis pavyzdys veikia identiškai į ankstesnį dvi:
nuo deleguoti importo delegatas
delegate
klasė CustomQuerySet (models.query.QuerySet):
& Nbsp; def qs_method (savarankiškai, some_value):
& Nbsp; grąža self.filter(some_param__icontains=some_value)

Requirements:

  • Python
  • Django

Kita programinė įranga kūrėjas Alexander Bohn

Komentarai django-delegate

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!