Wpis z mikrobloga

Cześć,

Jak w django przesłać dane poprzez URL używając generic views? Bo o ile w widokach generowanych z funkcji nie jest to problem, o tyle nie mogę znaleźć tego dla np. generic.DetailView. Nie wiem czy jasno się wyraziłem. Chodzi mi o to, że jeżeli wpiszę sobię w urlpatterns path('', views.widokFun) to mogę po prostu wywołać to w views.py jako def widokFun(request, liczba). A jak to samo uzyskać dla class widokClass(generic.DetailView)?
#django #python
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xmaniox: Swoją drogą, rozśmieszyłem sam siebie. Da się to osiagnąć jakimś prostszym sposobem?

answerCounter = Question.objects.filter(category=Category.objects.filter(pk=self.kwargs['pk']).count()).count()
  • Odpowiedz
answerCounter = Question.objects.filter(category__pk=self.kwargs.get('pk')).count()
EDIT:
czekaj, po co to liczysz?

Category.objects.filter(pk=self.kwargs['pk']).count()
  • Odpowiedz
@xmaniox: Nie - zliczając ilość wykonań pętli - liczysz po prostu ilość wykonanych zapytań, annotate generuje jedno zapytanie - całe liczenie jest wykonywane za pomocą wewnętrznych mechanizmów Twojego RDBMS - będzie duuużo szybsze.
  • Odpowiedz