Jak utworzyć filtr w Django Admin, aby wyświetlać tylko rekordy, w których wartość całkowita mieści się między dwiema wartościami? Na przykład, jeśli mam model Person, który ma atrybut wieku i chcę wyświetlać tylko rekordy Person, gdzie wiek wynosi od 45 do 65.Administrator Django: Jak filtrować na polu liczby całkowitej dla określonego zakresu wartości?
Odpowiedz
Po prostu chcę przefiltrowaną wersję widoku listy, że dostęp za pośrednictwem łącza (powiedzmy w widoku listy), na przykład, aby wyświetlić tylko te związane z elementów modelu, można zrobić coś takiego:
def admin_view_receipts(self, object):
url = urlresolvers.reverse('admin:invoice_%s_changelist'%'receipt')
params = urllib.urlencode({'invoice__id__exact': object.id})
return '<a href="%s?%s">Receipts</a>' % (url, params)
admin_view_receipts.allow_tags = True
admin_view_receipts.short_description = 'Receipts'
to zabierze Cię do widoku listy dla „reciepts” ale tylko te, które są powiązane z wybraną fakturą.
Jeśli chcesz filtr, który wyświetla na pasku bocznym, można try this snippet lub this
Co szukasz jest http://djangosnippets.org/snippets/587/ - urywek jest trochę stary, ale działa dobrze po dodatkowym drobne zmiany.
upload wersji poprawionej w https://gist.github.com/1009903
podstawie another answer for a related question, dowiedziałem się, że istnieje officially documented way to zrobić since version 1.4. Zawiera nawet przykład filtrowania według daty.
Wciąż interesujący jest również fragment w sorin answer, ponieważ po prostu dodaje on do adresu URL parametry w stylu Django, co jest innym rozwiązaniem niż oficjalny przykład dokumentacji.
można filtrować niektóre pola, co w ten sposób za pomocą funkcji ... queryset()
używałem SimpleListFilter
def queryset(self, request, queryset):
filt_age = request.GET.get('parameter_name')
return queryset.filter(
age__range=self.age_dict[filt_age]
)
I utworzyć dict w lookups()
i odesłać go w zależności od wieku
def lookups(self, request, model_admin):
return [
(1, '5-21'),
(2, '22-35'),
(3, '35-60')
]
- 1. Administrator Django - Wyłącz akcję "Dodaj" dla określonego modelu
- 2. Jak wykluczyć zależność tylko dla określonego zakresu?
- 3. graphene-django - Jak filtrować?
- 4. Zaokrąglanie liczby całkowitej do najbliższej wielokrotności innej liczby całkowitej
- 5. Jak uniknąć przepełnienia liczby całkowitej?
- 6. Django related_name na polu ściera
- 7. Wykrywanie przepełnienia liczby całkowitej
- 8. wyłuskania wartości całkowitej dla pętli w java
- 9. Wykrywanie przepełnienia liczby całkowitej
- 10. konwersja liczby całkowitej na listę w pythonie
- 11. Efektywne mapowanie dla określonej skończonej liczby całkowitej ustawić
- 12. Konwersja liczby całkowitej na adres IP
- 13. Administrator Django w linii
- 14. C++ Sprawdzanie liczby całkowitej.
- 15. Administrator Django GenericForeignKey wbudowany
- 16. Administrator Django: brakuje inlines dla niektórych rekordów
- 17. JavaScript - konwersja liczby całkowitej na tablicę bitów
- 18. Ustawienie wartość logiczną na podstawie liczby całkowitej
- 19. API dla uzyskania całkowitej liczby polubień strony na Facebooku
- 20. Matplotlib: Jak wymusić etykiety liczby całkowitej?
- 21. Dzielenie liczby całkowitej na jej oddzielne cyfry
- 22. Runda do najbliższej liczby całkowitej
- 23. Specjalizacja szablonowa dla zakresu wartości
- 24. Jak filtrować liczby zawierające unikalne cyfry?
- 25. Jak wybrać dane dla zdefiniowanej strony i całkowitej liczby rekordów?
- 26. C tylko znak liczby całkowitej
- 27. grupa pyton wykaz liczby całkowitej, z najbliższej wartości
- 28. Administrator Django - niestandardowy widok listy zmian
- 29. Administrator Django spersonalizuj zapytanie search_fields
- 30. Kontrola przekroczenia liczby całkowitej SSE2
lepiej pasuje do http://webmasters.stackexchange.com/questions – Svisstack
@Svisstack Nie sądzę; to jest pytanie programistyczne. – FunLovinCoder
Tak, wiem, ale lepiej jodła dla webmasterów – Svisstack