0
我無法在我的nav-menu
中獲得子類別。它們之間如何在Flask中獲取特定父類別的子類別?
我創建關係一個一對多,這裏是兩個車型:
class Category(db.Model):
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String())
slug = db.Column(db.String(), unique=True)
subs = db.relationship('Sub', backref='categories', lazy='dynamic')
def __repr__(self):
return "Category: {}".format(self.name)
class Sub(db.Model):
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String())
slug = db.Column(db.String(), unique=True)
category_id = db.Column(db.Integer(), db.ForeignKey('category.id'))
author_id = db.Column(db.Integer, db.ForeignKey('author.id'))
def __repr__(self):
return "Sub: {}".format(self.name)
我使用了一個基本的查詢抓住他們所有的視圖中,這裏是視圖
categories = Category.query.join(Sub, Sub.name == Category)
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).one()
login_user(user)
identity_changed.send(
current_app._get_current_object(),
identity=Identity(user.id)
)
return redirect(request.args.get('next') or url_for('main.index'))
return render_template('index.html', form=form, all_category=categories)
index.html中我使用的的Jinja2for loop
在我nav-menu
他們進行排序,這裏是代碼:
{% for categories in all_category %}
<li>
<a href="javascript:void(0);">{{categories.name}} <span class="count pull-right">{{categories.subs.count()}}</span></a>
<ul class="sidebar-dropdown">
<li>
<ul>
<li><a href="javascript:void(0);">{{categories.subs.name}}</a></li>
</ul>
</li>
</ul>
</li>
{% endfor %}
我所得到的僅僅是類別名稱有潛艇的計數。
請問,任何人都可以告訴我,如果我犯了什麼錯誤,並在哪裏?
嗯,也不需要在神社模板另一個環比categories.subs? –
我試過了,沒有val :(! – reznov11
有沒有其他的關係,我不得不添加? – reznov11