Python 无法让Django{%regroup%}正常工作
我正在尝试使用Python 无法让Django{%regroup%}正常工作,python,django,Python,Django,我正在尝试使用{%regroup%}模板标记来显示用户制作的列表,其中的项目如下所示: 列表名 项目 项目 项目 不是这个(这是我能让它呈现atm的唯一方法): 名单名称1 项目1 名单名称1 项目2 名单名称1 项目3 根据我对Django文档的阅读,我不得不把我的查询集变成一本字典,但我很难做到这一点。如果根据登录用户进行过滤,我还需要确保我的查询集。根据我将values()方法放在何处,我会遇到错误,或者它当前根本没有显示任何内容 我也试着遵循这个答案,但没有得到爱 这是我的观点 clas
{%regroup%}
模板标记来显示用户制作的列表,其中的项目如下所示:
列表名
项目
项目
项目
不是这个(这是我能让它呈现atm的唯一方法):
名单名称1
项目1
名单名称1
项目2
名单名称1
项目3
根据我对Django文档的阅读,我不得不把我的查询集变成一本字典,但我很难做到这一点。如果根据登录用户进行过滤,我还需要确保我的查询集。根据我将values()方法放在何处,我会遇到错误,或者它当前根本没有显示任何内容
我也试着遵循这个答案,但没有得到爱
这是我的观点
class user_playlist(ListView):
template_name = 'testingland/playlist.html'
context_object_name = 'playlist'
model = UserVenue
def get_queryset(self):
venue = self.request.GET.get('venue', None)
list = self.request.GET.get('list', None)
playlist = UserVenue.objects.filter(list__user=self.request.user)
return playlist
以下是模型:
class UserList(models.Model):
list_name = models.CharField(max_length=255)
user = models.ForeignKey(User, on_delete=models.CASCADE) #is this okay?
def __str__(self):
return self.list_name
class UserVenue(models.Model):
venue = models.ForeignKey(mapCafes, on_delete=models.PROTECT)
list = models.ForeignKey(UserList, on_delete=models.PROTECT)
这里是模板(我是在阅读Django文档的基础上构建的)
{%按列表将场地重新分组为用户\播放列表%}
{%用于用户_播放列表%}
- {{list.grouper}
{%用于列表中的位置。列表%}
- {{place.vention}
{%endfor%}
{%endfor%}
是否回答了您的问题?我确实回顾了这一点,并发现有相似之处,但我在将解决方案应用于我的案例时遇到了困难,并认为,由于已有10年的历史,可能会有一些较新的方法可用。简短回答:不幸的是它没有(至少就我目前的经验水平而言)。好的。。。这是有道理的。它应该是重新分组
播放列表,而不是重新分组
地点{%按列表将播放列表重新组合为用户\播放列表%}
,同时我强烈建议您不要使用列表
作为标识符。这是一个python内置函数。
<div class="user_playlists">
{% regroup venue by list as user_playlist %}
<ul>
{% for list in user_playlist %}
<li> {{ list.grouper }}
<ul>
{% for place in list.list %}
<li>{{ place.venue }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
</div>