假设我的模型:Django的过滤器查询集基于另一个查询集的计数
model book
charfield name
model review
charfield bookname
有没有办法来过滤/排除与审查书籍数为零?我在stackoverflow上直观地看到了这一点,但无法找到答案。这不是一个家庭作业问题。我有一个查询集约。大小约为200,000,从中我得出结论认为,通过将查询集转换为python列表进行过滤并进行筛选并转换回来并不明智。有人可以帮我弄这个吗? 感谢
是否有一个原因您的评论模型有一个书名的charfield,而不是直接更正的外键t Book对象?如果模型实际链接,过滤器会更容易做到。另外,从您的问题来看,您是否想要保留或排除没有来自查询集的评论的书籍并不明确。 – ChidG
@ChidG感谢您的回复。假设我有大量书籍和评论,我认为每次添加评论时都会将评论与书籍链接起来,因为查找时间太长。应该把它们联系起来,以此来支持这一点吗? – verticese
通过外键链接它们绝对是解决这个问题的标准,最佳实践方式。在两张表之间进行数据库连接的时间比没有连接它们造成的其他问题要少得多。例如,您的数据库需要更大(磁盘空间),因为书名将全部存储在多个位置。当你有多本同名的书时会发生什么?或者当某人在评论中错误地输入书名?我建议你阅读一下关于关系数据库的设计。 – ChidG