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)