Từ the django tutorialTừ django hướng dẫn was_published_recently.admin_order_field = 'PUB_DATE'
was_published_recently.admin_order_field = 'pub_date'
được tuyên bố này thực sự làm gì vậy?
Từ the django tutorialTừ django hướng dẫn was_published_recently.admin_order_field = 'PUB_DATE'
was_published_recently.admin_order_field = 'pub_date'
được tuyên bố này thực sự làm gì vậy?
Đây là tham chiếu đến phần quản trị của django. Trong phần quản trị tương ứng với các mô hình, mỗi mô hình có một thuộc tính được gọi là list_display
, điều khiển trường nào được hiển thị trên danh sách thay đổi (danh sách hiển thị tất cả các đối tượng) của quản trị viên.
Bây giờ, nếu bạn muốn thay đổi thứ tự sắp xếp mặc định cho was_published_recently
trong list_display
, bạn có thể làm như vậy bằng cách đặt thuộc tính admin_order_field
.
Vì vậy, trong ví dụ:
class Poll(models.Model):
# ...
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
was_published_recently.admin_order_field = 'pub_date'
was_published_recently.boolean = True
was_published_recently.short_description = 'Published recently?'
Bạn đang thêm một cột tùy chỉnh được gọi was_published_recently
và xác định thứ tự sắp xếp được các lĩnh vực cơ sở dữ liệu pub_date
khi "loại" tùy chọn cho cột was_published_recently
được nhấp.
Bạn có thể hiểu được điều này tốt hơn bằng cách di chuyển xuống các thông tin liên quan đến admin_order_field
trong this link
Câu trả lời này là gần như hoàn hảo, nhưng mã bạn trích dẫn không phải là những gì tạo ra các cột tùy chỉnh cho 'was_published_recently'. Mã thực hiện trong 'polls/admin.py' trong lớp' PollAdmin'. Đó là dòng: 'list_display = ('question', 'pub_date', 'was_published_recently')'. Mã bạn đã hiển thị (từ 'poll/models.py') sửa đổi trạng thái mặc định của cột đó. – liquidki