我试图通过我的Like表通过各种查询访问ForeignKeyField的id列到我的UserAccount表,例如:
if models.Like.select().where(models.Like.user.id==current_user.id,models.Like.post.id==post_id).exists():
我一直在尝试访问User和Post上的列ID。我之前在Jinja模板中实现了这一点,循环遍历每一行并通过model.Table.foreignkeyfield.foreignkeycolumn
访问外键,如下所示:
{% for post in posts %}
{{post.user.username}}
{% endfor %}
(用户是ForeignKeyField,用户名是User表中的一列)
我的问题是:有没有办法让我在没有遍历整个表的情况下访问外键列?
'像'模型
class Like(Model):
post = ForeignKeyField(rel_model=Post, related_name='Like')
user = ForeignKeyField(rel_model=UserAccount, related_name='Like')
class Meta:
database = db
非常感谢 - 汤姆
答案 0 :(得分:1)
您不需要使用id
列,peewee应该能够在查询中找到它:
(Like
.select()
.where(
(Like.user==current_user) &
(Like.post == post_id)).exists():