如何访问 Peewee ForeignKeyField 的一列
How do I Access One Column of a Peewee ForeignKeyField
我正在尝试通过我的 Like table 访问 ForeignKeyField 的 id 列到我的 UserAccount table 以及各种查询,例如:
if models.Like.select().where(models.Like.user.id==current_user.id,models.Like.post.id==post_id).exists():
我一直在尝试访问用户和 Post 上的列 ID。我之前在 Jinja 模板中通过遍历每一行并通过 model.Table.foreignkeyfield.foreignkeycolumn
访问外键来实现这一点,如下所示:
{% for post in posts %}
{{post.user.username}}
{% endfor %}
(user是一个ForeignKeyField,username是User中的一列table)
我的问题是:有没有办法让我无需遍历整个 table 即可访问外键列???
'Like'型号
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():
我正在尝试通过我的 Like table 访问 ForeignKeyField 的 id 列到我的 UserAccount table 以及各种查询,例如:
if models.Like.select().where(models.Like.user.id==current_user.id,models.Like.post.id==post_id).exists():
我一直在尝试访问用户和 Post 上的列 ID。我之前在 Jinja 模板中通过遍历每一行并通过 model.Table.foreignkeyfield.foreignkeycolumn
访问外键来实现这一点,如下所示:
{% for post in posts %}
{{post.user.username}}
{% endfor %}
(user是一个ForeignKeyField,username是User中的一列table)
我的问题是:有没有办法让我无需遍历整个 table 即可访问外键列???
'Like'型号
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():