Django Taggit 错误 "too many SQL variables" 我如何进行限制查询?
Django Taggit error "too many SQL variables" how can i do limit query?
你好,我有一个壁纸网站。我正在使用 taggit。我有 20 万个标签和 2 万张墙纸。
我想在这样的视图中使用相关的壁纸
def detail(request,slug):
wallpaper = get_object_or_404(Wallpapers, slug = slug)
category = Category.objects.all()
similar_posts = wallpaper.tags.similar_objects()[:20]
random.shuffle(similar_posts)
return render(request, "detail.html", {"wallpaper": wallpaper, "category": category, "similar_posts": similar_posts, })
我接受了 "too many SQL variables" 错误。
示例壁纸标签:
动漫、水、雨
15k+ 壁纸有 动漫 标签
如何限制或过滤查询此相关壁纸项目?
我找到了这样的解决方案
similar_posts = wallpaper.tags.similar_objects()[:20]
random.shuffle(similar_posts)
更改为;
similar_posts = Wallpapers.objects.filter(tags__name__in = [wallpaper.tags.names()]).order_by('?')[:20]
你好,我有一个壁纸网站。我正在使用 taggit。我有 20 万个标签和 2 万张墙纸。
我想在这样的视图中使用相关的壁纸
def detail(request,slug):
wallpaper = get_object_or_404(Wallpapers, slug = slug)
category = Category.objects.all()
similar_posts = wallpaper.tags.similar_objects()[:20]
random.shuffle(similar_posts)
return render(request, "detail.html", {"wallpaper": wallpaper, "category": category, "similar_posts": similar_posts, })
我接受了 "too many SQL variables" 错误。
示例壁纸标签: 动漫、水、雨
15k+ 壁纸有 动漫 标签
如何限制或过滤查询此相关壁纸项目?
我找到了这样的解决方案
similar_posts = wallpaper.tags.similar_objects()[:20]
random.shuffle(similar_posts)
更改为;
similar_posts = Wallpapers.objects.filter(tags__name__in = [wallpaper.tags.names()]).order_by('?')[:20]