2014-12-23 3 views
0

어떻게 고객을 클릭하고 매출을 반환합니까? 즉 고객을 클릭하고 그 고객 판매를 필터링하고 싶습니다.고객을 클릭하고 매출을 반환하십시오.

  • 고객 링크를 내가 클릭하면 판매 페이지를 입력하는 값이어야 만 판매를 필터링 : 사실

    나는 나는 다음과 같은 생각했기 때문에 내가 생각 할 수없는 것 같아요.

내가 뭘 봤는지는 모르지만 성공하지 못했습니다.

#models.py

#views.py

class SaleList(ListView): 
    template_name = 'sale_list.html' 
    model = Sale 
    context_object = 'sale_list' 
    paginate_by = 20 

... 

    def get_queryset(self): 
     s = Sale.objects.all() 
     if self.request.GET.get('filter_sale', False): 
      s = s.filter(customer='filter_sale') 
     return s 

#customer_list.html

... 
{% for customer in object_list %} 
    <tr> 
     <td>{{ customer.full_name }}</td> 
... 

#sale_list.html

@Daniel Roseman하지만 판매, 홍보를 클릭하면 지금은 모든 판매를 반환하지 않습니다 순전히 SaleList 클래스가 고유하거나 URL 때문에 발생합니다.

url(r'^sales/(?P<id>\d+)/$', SaleList.as_view(), name='sale_list'), 

를 그런 다음에 링크를 제공해야합니다

url(r'^sale/$', SaleList.as_view(), name='sale_list'), 
url(r'^sale/(?P<id>\d+)/$', SaleList.as_view(), name='sale_list'), 
url(r'^sale/(?P<pk>\d+)/$', SaleDetailView.as_view(), name='sale_detail'), 
+0

아마도 'filter_sale'값을 기준으로 필터링해야합니다. 이것을 시도해보십시오 : 's = s.filter (customer = self.request.GET.get ('filter_sale ')' – kaveh

답변

1

글쎄, 우선 당신은 세부 사항보고 싶은 고객의 ID를 포함하는 판매 목록보기의 URL을 정의해야 그보기로 고객 목록 :

{% for customer in object_list %} 
    <tr> 
     <td><a href="{% url 'sale_list' id=customer.id %}">{{ customer.full_name }}</a></td> 

한 다음 판매 목록보기의의 검색어에 해당 ID를 기준으로 필터링해야합니다

,
def get_queryset(self): 
    s = Sale.objects.filter(customer=self.kwargs['id']) 
    return s 
+0

) Sales를 클릭하면 모든 Sale이 반환되지 않습니다. 아마도 SaleList 클래스가 고유하거나 URL을 수정했습니다. 내 질문을 편집하여 최종 댓글을 참조하십시오. –

+0

해결 된 문제 https://github.com/rg3915/vendas/commit/9a2223da3ff1829d796d0100f19be67c45dff626 –