Flask 使用关系表中的数据填充表单

Flask 使用关系表中的数据填充表单,flask,wtforms,flask-wtforms,Flask,Wtforms,Flask Wtforms,我想用关系数据填充表单。例如,如果我这样做 form = CreateCompany(obj=company) 这将仅使用直接来自主表而非关系表的数据填充表单 class Company(db.Model): __tablename__ = 'companies_company' id = db.Column(db.Integer, primary_key=True) company_name = db.Column(db.String(100)) indust

我想用关系数据填充表单。例如,如果我这样做

form = CreateCompany(obj=company)
这将仅使用直接来自主表而非关系表的数据填充表单

class Company(db.Model):
    __tablename__ = 'companies_company'
    id = db.Column(db.Integer, primary_key=True)
    company_name = db.Column(db.String(100))
    industry_id = db.Column(db.Integer, db.ForeignKey('industries.id'))

class Industry(db.Model):
    __tablename__ = 'industries'
    id = db.Column(db.Integer, primary_key=True)
    industry = db.Column(db.String(100))
    company_industry = db.relationship('Company', backref='company_industry', lazy='joined')
形式


有什么想法吗?

基本上,我需要在公司和行业之间建立一种关系

在模型中类似这样的东西:industry\u rel=db.relationship'industry',backref='company'

然后,我可以在CreateCompany的表单构造函数中执行此操作


在这种情况下,我只是手动填充我不能用obj=company自动执行的操作

公司和行业如何关联?一个公司只能有一个行业,一个行业可以由多个公司使用。基本上是一种多对一的关系。你的模型没有反映这一点。您共享的是完整的模型还是有限的字段数?@dirn仅共享有限的字段数。但我只想找一个通用的例子,如果你愿意,你可以忽略我的代码。谢谢你有一个从国家到行业的外键字段吗?如果不是,那就是你的问题。如果你这样做了,而你只是没有把它包括在你的例子中,你的问题完全是另外一回事。
class CreateCompany(Form):
    company_name = StringField('Company name', [Required()])
    industry = SelectField('Industry')
    industry_id = HiddenField('Industry_id')
 def __init__(self, default, *args, **kwargs):
     self.industry.kwargs['default'] = default #default is company.industry_rel.id
 form = CreateCompany(company.industry_rel.id, obj=company)