[英]How do you filter django-oscar products to show only products from a specific category?
[英]How to show all user purchased products in django-oscar?
我正在嘗試在 django-oscar 上呈現所有用戶購買的產品,但我遇到了一些問題。
我可以按用戶順序打印所有訂單。
OrderProduct.objects.filter(user=user)
但如果訂單中包含的產品很少(保存在 order.line 中),它不會單獨打印每個產品我也可以在 orders.line 中打印所有產品
LineProduct.objects.all()
但我無法按用戶過濾它們,因為 order.line 中沒有用戶字段。
我可以在 order.line 上添加用戶字段,並在每次下訂單時從訂單中復制,但我認為這不是最佳解決方案。
有人對解決方案有任何想法嗎?
提前致謝
您可以獲得用戶購買的所有產品的列表:
Product.objects.filter(line__order__user=user)
這是按照外鍵關系從Line
到Product
向后,然后從Line
到Order
再到User
向前(請參閱文檔以了解其工作原理)。
此查詢集可能會導致重復,因此您可能希望在末尾添加一個distinct()
子句,具體取決於您要對其執行的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.