Django Queryset не отображает все результаты, относящиеся к пользователю
я пытаюсь показать данные, связанные с таблицей заказов
VIEWS.py
class HBTYReadView(DetailView):
model = HbtyOrder
context_object_name = 'hairbty'
template_name = 'accounts/modals/hairbty/read_hbty.html'
MODELS.PY
class HbtyOrder(models.Model):
STATUS = (
('Pending', 'Pending'),
('Out for delivery', 'Out for delivery'),
('Delivered', 'Delivered'),
)
hbtycustomer = models.ForeignKey(HbtyCustomers, on_delete=models.SET_NULL, blank=True, null=True)
itm = models.CharField(max_length=200, null=True)
date_created = models.DateTimeField(auto_now_add=True, null=True, blank=True)
status = models.CharField(max_length=200, null=True, choices=STATUS)
URLS.PY
path('read_hairbty/<int:pk>', views.HBTYReadView.as_view(), name='read_hairbty'),
В настоящее время показывает пользователя с одним заказом, но не показывает пользователя с большим количеством заказов. СПАСИБО
Проблема была в Views.py, правильный способ - переопределить get_queryset и filter, как посоветовал @Marco.
Views.py
class HBTYReadView(generic.ListView):
model = HbtyOrder
context_object_name = 'hairbty'
template_name = 'accounts/modals/hairbty/read_hbty.html'
success_url = reverse_lazy('read_hairbty')
allow_empty = False
paginate_by = 100
def get_queryset(self):
qs = self.model.objects.filter(hbtycustomer_id=self.kwargs['pk'])
p_f = HbtyOrdersFilter(self.request.GET, queryset=qs)
return p_f.qs
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['filter'] = HbtyOrdersFilter(self.request.GET, queryset=self.get_queryset())
return context