烧瓶管理员表格显示值

时间:2016-02-10 12:02:22

标签: python flask flask-sqlalchemy flask-admin

我正在使用Flask-Admin来管理我的数据库中的几个表,我偶然发现了一个问题。 我的数据库中有一对多关系,模型没问题。如果我想通过Admin界面从/向我的数据库中添加/删除/显示记录,一切正常。 唯一的问题是外键字段显示为对象,我不知道如何将其切换为名称。

class Locations(db.Model):
    __tablename__ = "locations"
    id = db.Column('id', db.Integer, primary_key=True)
    name = db.Column('name', db.Unicode)
    code = db.Column('code', db.Unicode)
    servers = db.relationship('Servers', backref='location', lazy='dynamic')
    subnets = db.relationship('Subnets', backref='location', lazy='dynamic')

class Servers(db.Model):
    __tablename__ = "servers"
    id = db.Column('id', db.Integer, primary_key=True)
    serialnum = db.Column('serialnum', db.Unicode)
    hostname = db.Column('hostname', db.Unicode)
    type = db.Column('type', db.Unicode)
    locationid = db.Column('locationid', db.Integer, db.ForeignKey('locations.id'))
    idrac = db.relationship('Idracs', backref='server', lazy='dynamic')
    interface = db.relationship('Interfaces', backref='server', lazy='dynamic')

class ServersView(ModelView):
    column_searchable_list = ('hostname', 'type', 'serialnum')
    column_list = ('location', 'hostname', 'type', 'serialnum')
    form_columns = [ 'location', 'hostname', 'type', 'serialnum' ]

admin.add_view(ServersView(Servers, db.session))

当我想列出或创建新记录时,我希望看到该位置的名称,而不是对象 main .Locations。

任何人都可以给我一个小提示吗?

提前致谢!

0 个答案:

没有答案
相关问题