flask-admin not showing foreignkey columns flask-admin not showing foreignkey columns flask flask

flask-admin not showing foreignkey columns


How about if you change the Child class to this:

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

I don't know much about this, and I don't know if you need the back reference, but this setup works for me with Flask-Admin.


You likely need to specify some additional options to flask-admin via a subclass:

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


Here is an all-inclusive solution that requires no manual maintenance.

from sqlalchemy import inspectclass ChildView(ModelView):    column_display_pk = True # optional, but I like to see the IDs in the list    column_hide_backrefs = False    column_list = [c_attr.key for c_attr in inspect(Child).mapper.column_attrs]admin.add_view(ChildView(Child, db.session))