所以在我的views.py中,我有一个工具列表,它是数据库中所有工具的列表。 我想以某种方式过滤此列表以仅加载当前用户创建的工具。
该工具的所有者是一个ShedUser对象,其名称可以通过tool.owner.user.username访问, 我已经尝试通过html文档中的user.username之类的东西来引用用户。正如您在我的html模板代码中看到的那样
{% if tool.owner.user.username == user.username %}
在html中尝试过滤总列表。 我没有成功过滤python文件或html模板中的总列表。我也尝试过不同的方法,只生成用户首先创建的工具列表,但也无法找到方法。
这是我的文件
我的root / tool / views.py:
http://pastebin.com/ri93S7Gq
我的root / site / templates / shelf.html:
http://pastebin.com/Qmrirk2y
我的root / tool / models.py:
http://pastebin.com/v6nS6L4B
我的root / user / models.py:
http://pastebin.com/pNqkNVCG
答案 0 :(得分:0)
您需要在渲染前过滤结果。
在视图中,您需要执行以下操作:
tools = Tool.objects.filter(owner__user=request.user).order_by('name')