2 Stimmen

django: Admin-Interface für eine erweiterte Klasse

Ich habe zwei Klassen, für die ich eine Verwaltungsoberfläche haben möchte. Aber eine Klasse erweitert die andere. Bsp.

class Questions(models.Model):
     pass

class MathQuestion(Questions):
     some fields ....

Der einfachste Weg ist nun, einen eigenen Admin für MathQuestion zu erstellen. Gibt es jedoch eine Möglichkeit, dass ich MathQuestion in einer intuitiveren fashio in Admin angezeigt haben, z. B.: Wenn Benutzer geht zu QuestionAdmin Schnittstelle und wählt einen weiteren Typ für Mathematik.

0voto

Thorin Schiffer Punkte 2720
  1. Hinzufügen eines zusätzlichen Feldes 'question_type' mit dem Standardwert von None und nicht löschbar (so können Sie sicher sein, dass Question keine Instanzen haben kann, nicht sicher, ob es funktioniert)
  2. überlasten die save Methode in der untergeordneten Klasse und weisen Sie dort einen Wert für question_type, also MathQuestion, zu.
  3. Verwenden Sie wie immer die Filterung in der Verwaltung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X