flask-admin不显示foreignkey列 [英] flask-admin not showing foreignkey columns

查看:310
本文介绍了flask-admin不显示foreignkey列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

父类(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))

$ b $ class Child(db.Model):
id = db.Column(db.Integer,primary_key = True)
名称= db.Column(db.String(120))
parent = db.Column(db.Integer,db.ForeignKey(Parent))

admin.add_view(ModelView ,db.session))

你好 -

<上面的代码是我试图创建的flask-admin页面的一个例子。我们的目标是在儿童的创建页面上输入名称的文本框,然后选择一个父项。

使用上面的设置,只有名称字段。

任何想法如何实现?

解决方案

如果您将 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 '))

我对此不甚了解,不知道是否需要后面的参考,但这个设置适用于Flask-Admin。


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

Hello -

The code above is an example of flask-admin page that I am trying to create. The goal is to have on Child's create page a text box for name and a drop down to select a parent.

With the above setup, there is only name field. The parent drop down box is missing.

Any ideas how to make it happen?

解决方案

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.

这篇关于flask-admin不显示foreignkey列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆