Để sửa đổi cách thức và nội dung hiển thị trong chế độ xem danh sách thay đổi, người dùng có thể sử dụng tùy chọn list_display
ModelAdmin
.
Hãy nhớ rằng, các cột được đưa ra trong list_display
không phải là trường cơ sở dữ liệu thực không thể được sử dụng để sắp xếp, vì vậy cần phải cung cấp cho quản trị viên Django một gợi ý về trường cơ sở dữ liệu nào thực sự sử dụng để sắp xếp.
Thực hiện điều này bằng cách đặt thuộc tính admin_order_field
cho hàm có thể gọi được sử dụng để bao bọc một số giá trị trong HTML chẳng hạn.
Ví dụ từ tài liệu Django cho các lĩnh vực đầy màu sắc:
class Person(models.Model):
first_name = models.CharField(max_length=50)
color_code = models.CharField(max_length=6)
def colored_first_name(self):
return '<span style="color: #%s;">%s</span>' % (
self.color_code, self.first_name)
colored_first_name.allow_tags = True
colored_first_name.admin_order_field = 'first_name'
class PersonAdmin(admin.ModelAdmin):
list_display = ('first_name', 'colored_first_name')
Tôi hy vọng một số những điều này sẽ giúp.
Nguồn
2010-08-09 23:29:44
Cảm ơn bạn, .allow_tags đã làm công việc. – kelvan
Câu trả lời tuyệt vời @rebus. Có anyway để ràng buộc các 'color_first_name' chức năng và attrs để' PersonAdmin' như trái ngược với mô hình? Nó có vẻ kỳ lạ để xác định attrs quản trị cụ thể cho mô hình. – cooncesean
@cooncesean Có, giá trị của list_display có thể là một tên chuỗi của phương thức trên mô hình hoặc lớp quản trị, hoặc nó có thể là một tham chiếu đến một cuộc gọi. [Xem tài liệu để biết thêm ví dụ] (https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display) –