[英]How to do select with where on second order ForeignKeyField in Python Peewee ORM?
[英]How do I Access One Column of a Peewee ForeignKeyField
我試圖通過我的Like表通過各種查詢訪問ForeignKeyField的id列到UserAccount表,其中包含各種查詢,例如: if models.Like.select().where(models.Like.user.id==current_user.id,models.Like.post.id==post_id).exists():
我一直在嘗試訪問用戶和帖子上的列ID。 我以前在Jinja模板中實現了這一點,方法是遍歷每一行並通過model.Table.foreignkeyfield.foreignkeycolumn
來model.Table.foreignkeyfield.foreignkeycolumn
外鍵,如下所示:
{% for post in posts %}
{{post.user.username}}
{% endfor %}
(用戶是ForeignKeyField,用戶名是用戶表中的一列)
我的問題是:有沒有辦法讓我訪問外鍵列而不遍歷整個表?
像模型
class Like(Model):
post = ForeignKeyField(rel_model=Post, related_name='Like')
user = ForeignKeyField(rel_model=UserAccount, related_name='Like')
class Meta:
database = db
非常感謝-湯姆
您不需要使用id
列,peewee應該能夠在查詢中找到它:
(Like
.select()
.where(
(Like.user==current_user) &
(Like.post == post_id)).exists():
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.