Как я могу поместить словарь в пагинацию внутри моей модели?
У меня есть модель и у меня есть отдельная страница для каждой из них.
class Group(models.Model):
name = models.CharField(max_length=150, unique=True, db_index=True)
active = models.BooleanField(default=False)
members = models.OrderedDictField(default=dict, blank=True)
Это пример представления членов.
{
"Jeon Heejin": "Designer",
"Kim Hyunjin": "Baker",
"Jo Haseul": "Musician"
}
Однако, когда я отображаю страницу, представляющую группу, некоторые группы имеют более 100 членов. Поэтому я хочу разбить их на страницы, но я не понимаю, как разбить на страницы словарь, который находится внутри модели.
Я также попытался сделать пагинацию своих Представлений, но ничего не изменилось.
class GroupView(DetailView):
template_name = "tailwind/group_detal.html"
model = Group
slug_url_kwarg = "group_name"
slug_field = "name"
context_object_name = "project"
paginate_by = 2
def get_object(self, queryset=None):
try:
return Group.objects.get(name=self.kwargs.get("group_name"))
except Group.DoesNotExist:
raise Http404
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
return context
Вот таким образом я возвращаю свои товары.
<div class="md:grow mt-6 flex flex-col space-y-8 overflow-x-hidden">
{% for key, value in project.members.items %}
<div class="overflow-x-auto">
<div class="mt-4 px-4 py-4 bg-gray-100 rounded-md font-mono">
<div class="overflow-auto">
{{ value | linebreaksbr }}
</div>
</div>
</div>
{% endfor %}
</div>
Я все еще получаю все элементы на одной странице, но моя цель - постраничное отображение элементов для каждой группы.
Я все еще получаю все элементы на одной странице, но моя цель - постранично отобразить элементы для каждой группы. Я хочу, чтобы группа была распределена по нескольким страницам, а URL должны выглядеть как добавленный параметр запроса в конце.