你如何做长查询?有没有办法优化它? 我会做复杂而长时间的查询:
all_accepted_parts = acceptedFragment.objects.filter(fragmentID = fragment.objects.filter(categories = fragmentCategory.objects.filter(id=1)))
但它不起作用,我得到:
Error binding parameter 0 - probably unsupported type.
我会感谢任何提示我如何优化或解决当然的问题 - 更感谢:)
答案 0 :(得分:4)
如果它不起作用,则无法对其进行优化。首先让它发挥作用。
乍一看,似乎你真的混淆了关于领域,关系和平等/成员资格的概念。首先考虑文档,然后在python shell上逐个构建查询(可能是从里到外)。
在黑暗中拍摄:
all_accepted_parts = acceptedFragment.objects.filter(fragment__in = fragment.objects.filter(categories = fragmentCategory.objects.get(id=1)))
或者也许:
all_accepted_parts = acceptedFragment.objects.filter(fragment__in = fragment.objects.filter(categories = 1))
答案 1 :(得分:4)
正如其他人所说,我们确实需要这些模型,并对你实际想要达到的目标做出一些解释。
但看起来你想做一个相关的表查找。您应该使用Django的相关模型语法在查询中进行连接,而不是将所有相关对象放在单独的嵌套查询中。
类似的东西:
acceptedFragment.objects.filter(fragment__categories__id = 1)