python - manejo - frasco-admin no muestra las columnas de la clave extranjera
crear un dataframe en python (2)
class Parent(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(120))
def __repr_(self):
return ''<Parent %r>'' % (self.name)
admin.add_view(ModelView(Parent, db.session))
class Child(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(120))
parent = db.Column(db.Integer, db.ForeignKey(Parent))
admin.add_view(ModelView(Child, db.session))
Hola -
El código de arriba es un ejemplo de la página de administrador de matraz que estoy tratando de crear. El objetivo es tener en la página de creación de Child un cuadro de texto para el nombre y un menú desplegable para seleccionar un padre.
Con la configuración anterior, solo hay un campo de nombre. Falta el cuadro desplegable principal.
¿Alguna idea de cómo hacer que suceda?
¿Qué tal si cambias la clase Child
a esto?
class Child(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(120))
parent_id = db.Column(db.Integer, db.ForeignKey(''parent.id''))
parent = db.relationship(''Parent'', backref=db.backref(''children'', lazy=''dynamic''))
No sé mucho sobre esto, y no sé si necesitas la referencia, pero esta configuración funciona para mí con Flask-Admin.
Es probable que necesite especificar algunas opciones adicionales para flask-admin a través de una subclase:
class ChildView(ModelView):
column_display_pk = True # optional, but I like to see the IDs in the list
column_hide_backrefs = False
column_list = (''id'', ''name'', ''parent'')
admin.add_view(ChildView(Parent, db.session))