Jak kolejność miksów wpływa na klasę pochodną?
Powiedzmy, że mam następujące miksy, które nakładają się na siebie, dotykającdispatch()
:
<code>class FooMixin(object): def dispatch(self, *args, **kwargs): # perform check A ... return super(FooMixin, self).dispatch(*args, **kwargs) class BarMixin(object): def dispatch(self, *args, **kwargs): # perform check B ... return super(FooMixin, self).dispatch(*args, **kwargs) </code>
Jeśli chcę, aby mój widok przejrzał zamówienie, zaznacz A -> sprawdź B, jeśli mój kod będzieMyView(FooMixin, BarMixin, View)
lubMyView(BarMixin, FooMixin, View)
?
I dlaczego zawsze to robimyView
lub jego podklasy po miksach? (Zauważyłem to, czytając kod źródłowy ogólnych widoków django, ale nie znam uzasadnienia, jeśli takowe istnieje)