flask 初学者在这里。我有一个使用以下模型的小 Flask 应用程序:
class Question(db.Model):
__tablename__ = 'questions'
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.String, nullable=False)
class Answer(db.Model):
__tablename__ = 'answers'
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.String, nullable=False)
question_id = db.Column(db.Integer, db.ForeignKey('questions.id'))
question = db.relationship("Question", backref="answers")
我在我的应用程序中使用以下几行启动管理员:
admin = Admin(app)
admin.add_view(ModelView(Question, db.session))
admin.add_view(ModelView(Answer, db.session))
现在在答案模型的创建表单中,我有一个用于问题的下拉框,但没有正确填充:
quickstart guide不包括具有外键关系的模型,尽管有一些 implementation examples available ,它们根本没有记录。我很难弄清楚这里真正需要什么以及它是如何工作的。
最佳答案
感谢友好的 IRC 用户 mattupstate 的帮助!模型需要有__str__()
实现的:
class Question(db.Model):
__tablename__ = 'questions'
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.String, nullable=False)
def __str__(self):
return self.text
关于Flask-Admin ModelView 没有正确处理外键(空白下拉菜单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19387866/