如何在 peewee 中使用 backref
Posted
技术标签:
【中文标题】如何在 peewee 中使用 backref【英文标题】:how to use backref in peewee 【发布时间】:2020-06-09 17:12:48 【问题描述】:基本上我试图编写一个索引路由来返回用户订阅的业务的帖子 最后一行为 backref (business.posts) 抛出错误
# query that finds all the subscriptions of the logged in user
subscriptions_query = models.Subscription.select().join(models.User).where(models.User.id == current_user.id)
# gets the businesses being followed from the subscriptions
businesses_being_followed = [subscription.following for subscription in subscriptions_query]
post_dicts = [model_to_dict(business.posts) for business in businesses_being_followed]
这是我的帖子模型
class Post(BaseModel):
business = ForeignKeyField(Business, backref='posts')
image = CharField()
content = CharField()
date = DateTimeField(default=datetime.datetime.now)
【问题讨论】:
不知道为什么这个问题提到了 backref。 【参考方案1】:您的示例确实效率低下。
你能做到吗:
(Post
.select()
.join(Business)
.join(Subscription)
.where(Subscription.user == the_user_id))
【讨论】:
谢谢。我对 peewee 还很陌生,所以我能够让它以不同的方式工作,但这样效率更高。以上是关于如何在 peewee 中使用 backref的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Peewee 和 SQLite 的 FTS5 中使用 trigram tokenizer/similarity 选项?
peewee.DataError:字符串或blob太大,如何增加peewee中的`DSQLITE_MAX_VARIABLE_NUMBER`?