Ich habe ein Modell mit einer __repr__
Methode, die für die Anzeige in Flask-Admin verwendet wird. Ich möchte einen anderen Wert anzeigen, möchte aber das Modell nicht ändern. Ich habe this answer gefunden, aber das erfordert noch das Modifizieren des Modells. Wie kann ich eine separate Darstellung für Flask-Admin angeben?Ändern der Modelldarstellung in Flask-Admin ohne Modifizierung des Modells
class MyModel(db.Model):
data = db.Column(db.Integer)
def __repr__(self):
return '<MyModel: data=%s>' % self.data
aktualisieren
Datei: models.py
class Parent(db.Model):
__tablename__ = "parent"
id = db.Column(db.Integer, primary_key=True)
p_name = db.Column(db.Text)
children = db.relationship('Child', backref='child', lazy='dynamic')
def __repr__(self):
return '<Parent: name=%s' % self.p_name
class Child(db.Model):
__tablename__ = "child"
id = db.Column(db.Integer, primary_key=True)
c_name = db.Column(db.Text)
parent_id = db.Column(db.Integer, db.ForeignKey('parent.id'))
Datei: admin.py
from flask.ext.admin import Admin
from flask.ext.admin.contrib.sqla import ModelView
from app import app, db
from models import Parent, Child
admin = Admin(app, 'My App')
admin.add_view(ModelView(Parent, db.session))
admin.add_view(ModelView(Child, db.session))
Wenn ich versuche, Admin zu erstellen oder zu bearbeiten "Kind" durch Panel, sehe ich die Darstellung von "Eltern" -Klasse. Ich nehme an, dass es wegen der Beziehung ist und ich nicht weiß, wie man die Darstellung für Admin-Panel nur neu definiert.
Es war meine erste Idee, so zu machen, aber es funktioniert nicht in meinem Fall, bitte sehen Sie ein Update. – peoff