models
每个都指各自的
sqlite
class supplier_invoices(db.Model):
id = db.Column('id', db.Integer, primary_key = True)
at_date = db.Column(db.String(100))
at_shortnumber = db.Column(db.String(100))
def __repr__(self):
return str(self.at_date)
class product_inventory(db.Model):
id = db.Column('id', db.Integer, primary_key = True)
pi_shortnumber = db.Column(db.String(100))
pi_lot_name = db.Column(db.String(100))
pi_at_id = db.Column(db.Integer, db.ForeignKey('supplier_invoices.id'),
nullable=False)
at_date = relationship("supplier_invoices")
def __init__(self, id, pi_shortnumber):
self.id = id
self.pi_shortnumber = pi_shortnumber
@app.route('/pro_inv/')
def product_inv():
return render_template('product_inventory.html',
product_query = product_inventory.query.order_by(product_inventory.pi_shortnumber.desc()).limit(20).all())
然后假设我们正在使用下面的
jinja2
模板以显示
query
{% for pq in product_query %}
<tr>
<td>
{{ pi.at_date }}
</td>
<td>
{{ pi.pi_lot_name }}
</td>
<td>
{{ <!-- at_shortnumber --> }} <!-- ******* HOW TO GET SECOND COLUMN DATA HERE? -->
</td>
<td>
</tr>
{% endfor %}
pi.at_date
使用
sqlalchemy
关系相对简单。结果
金甲2号
at_date
supplier_invoices
pi_lot_name
来自父级的列数据
product_inventory
与之连接的表。
但是,
relationship
只返回
专栏。
at_shortnumber
同一列中的列
model
在某日
显然,一个解决方案是创建一个新的单独的
模型
但这对我来说似乎很麻烦,因为如果一个人想要检索10列,我们必须建立10个单独的列
模型
对于如何使用相同的方法从相关表中检索多个列的数据,有人有什么建议吗
? 或者可能是以完全不同的方式实现相同的结果?
提前谢谢你!
concat = column_property(pi_shortnumber + "_" + pi_lot_name + "_" + at_shortnumber )