Ich verwende Django-Voting als Abstimmungsanwendung für zwei meiner Modelle. Diese beiden Modelle haben Felder "Autor".Wie kann ich Benutzer, die auf ihr eigenes Modell abstimmen, einschränken?
Wie kann ich einen Benutzer davon abhalten, an einem Modell teilzunehmen, für das dieser bestimmte Benutzer als Autor festgelegt wurde, ohne die Django-Voting-App zu ändern?
Django Middleware ist das erste, was mir in den Sinn kommt, aber ich verstehe nicht, es ist "proces_view" -Funktion. Wenn Sie Middleware für den richtigen Weg halten, können Sie ein Beispiel dafür geben.
Ja, die Idee ist klar. Und es funktioniert. Nur zur späteren Bezugnahme kann dieser Code nicht in settings.py übernommen werden. Lege es in eine Datei, die mit Ausnahme von settings.py ausgeführt wird. Zum Beispiel in models.py in Ihrer Anwendung. – aleksandar
Ich denke, das ist der bessere Weg, es zu tun. Auf diese Weise wird die Logik auch für AJAX-Aufrufe geschrieben und befindet sich an einer Stelle. – aleksandar
Seien Sie vorsichtig mit diesem Code, wenn Objekte in Ihrem Projekt vorhanden sind, über die abgestimmt werden kann und die kein Attribut 'user' haben. In diesem Fall müssen Sie entweder einen hasattr (obj, 'user') hinzufügen oder alles in einen try umwandeln ... außer AttributeError. –