Làm cách nào để tạo bộ lọc trong Quản trị Django để chỉ hiển thị bản ghi có giá trị số nguyên nằm giữa hai giá trị? Ví dụ: nếu tôi có một Người mẫu, có thuộc tính tuổi và tôi chỉ muốn hiển thị các bản ghi Người ở độ tuổi từ 45 đến 65.Django Admin: Làm cách nào để lọc trên trường số nguyên cho phạm vi giá trị cụ thể
Trả lời
Tôi chỉ muốn một phiên bản được lọc của chế độ xem danh sách, mà bạn truy cập thông qua một liên kết (nói trong giao diện danh sách), ví dụ để chỉ xem các mặt hàng liên quan của một người mẫu, bạn làm điều gì đó như thế này:
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'
này sẽ đưa bạn đến một cái nhìn danh sách cho 'Reciepts', nhưng chỉ những người được liên kết với Hóa đơn đã chọn.
Nếu bạn muốn có một bộ lọc hiển thị ở khung bên trái, bạn có thể try this snippet hoặc this
gì bạn đang tìm kiếm là http://djangosnippets.org/snippets/587/ - đoạn là kinda cũ nhưng chỉ hoạt động tốt sau khi một sự thay đổi nhỏ bổ sung.
Tôi đã tải lên các phiên bản vá tại https://gist.github.com/1009903
Dựa trên another answer for a related question, tôi biết được rằng có một officially documented way để làm điều đó since version 1.4. Nó thậm chí còn bao gồm một ví dụ về lọc theo ngày tháng.
Tuy nhiên, đoạn mã trong sorin answer cũng thú vị, vì nó chỉ thêm tham số kiểu django vào URL, một giải pháp khác với ví dụ tài liệu chính thức.
Bạn có thể lọc lĩnh vực này một số những gì như thế này bằng cách sử dụng queryset()
Chức năng ... Tôi đã sử dụng SimpleListFilter
def queryset(self, request, queryset):
filt_age = request.GET.get('parameter_name')
return queryset.filter(
age__range=self.age_dict[filt_age]
)
Và tạo dict trong lookups()
và gửi lại Theo tuổi
def lookups(self, request, model_admin):
return [
(1, '5-21'),
(2, '22-35'),
(3, '35-60')
]
- 1. XSD: phạm vi giá trị số nguyên mặc định
- 2. Tạo một trường chỉ đọc trong Django Admin, dựa trên giá trị của trường khác
- 3. Phạm vi giá trị R.id
- 4. Số nguyên nằm ngoài phạm vi
- 5. Django: Lọc trường datetime theo * chỉ * giá trị năm?
- 6. Giá trị hợp lệ cho trường URL django là gì?
- 7. Làm cách nào để nhận giá trị mặc định cho trường trong mô hình Django?
- 8. Phạm vi giá trị gumpy hợp lệ
- 9. Đếm số giá trị vector trong phạm vi với R
- 10. Nhiều Phạm vi giá trị để OAuth2
- 11. Làm cách nào để loại trừ sự phụ thuộc cho một phạm vi cụ thể?
- 12. Tạo bộ lọc tùy chỉnh cho list_filter trong Django Admin
- 13. Làm cách nào để viết mã SQL ràng buộc cho một số nằm trong phạm vi?
- 14. Django fix Admin số nhiều
- 15. Các trường động trong Django Admin
- 16. Cách lọc tệp cụ thể bằng lọc tài nguyên maven
- 17. Cách truy vấn các sự kiện lịch trên Android cho phạm vi ngày cụ thể?
- 18. Cách lấy một số ngẫu nhiên từ một phạm vi, ngoại trừ một số giá trị
- 19. Django Admin: Thêm TinyMCE vào TextField cụ thể chỉ?
- 20. django admin: Làm thế nào để tùy chỉnh một trường trong các trường?
- 21. Làm cách nào để khắc phục lỗi 'Giá trị ngoài phạm vi được điều chỉnh cho cột'?
- 22. Nhận số nguyên ngẫu nhiên trong phạm vi (x, y]
- 23. làm cách nào tôi có thể truy lục giá trị số nguyên từ NSMutableArray trên iPhone?
- 24. Matplotlib: Làm cho tất cả các giá trị trong phạm vi hiển thị trên trục x
- 25. Python - đặt phạm vi danh sách thành một giá trị cụ thể
- 26. WMD trong Django Admin?
- 27. Làm cách nào để giới hạn các trường trong django-admin tùy thuộc vào người dùng?
- 28. Cách kiểm tra chuyển đổi giá trị trong Django (django-admin)?
- 29. Làm cách nào để lọc một trường cụ thể trong nhật ký SQL Rails?
- 30. Làm cách nào để đặt giá trị trường mặc định thành giá trị của trường khác trong mô hình Django?
tốt hơn phù hợp với http://webmasters.stackexchange.com/questions – Svisstack
@Svisstack Tôi không nghĩ vậy; đây là một câu hỏi lập trình. – FunLovinCoder
vâng tôi biết nhưng linh hoạt hơn cho quản trị viên web – Svisstack