Wie wirkt sich die Reihenfolge der Mixins auf die abgeleitete Klasse aus?

Angenommen, ich habe die folgenden Mixins, die sich durch Berühren überlappendispatch():

<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>

Wenn ich möchte, dass meine Ansicht die Bestellung durchläuft, markieren Sie A -> markieren Sie B, falls mein Code sein sollteMyView(FooMixin, BarMixin, View) oderMyView(BarMixin, FooMixin, View)?

Und warum setzen wir immerView oder seine Unterklassen nach mixins? (Ich habe dies bemerkt, als ich den Quellcode der generischen Django-Ansichten gelesen habe, aber ich kenne die Gründe dafür nicht, falls es welche gibt.)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage