Làm cách nào để tạo trường trong Django Admin chỉ đọc hoặc không thể chỉnh sửa dựa trên giá trị từ trường khác? Tôi đã sử dụng readonly_fields=('amount',)
nhưng điều này sẽ không khắc phục được sự cố của tôi, vì tôi cần quản lý nó dựa trên một trường khác.Tạo một trường chỉ đọc trong Django Admin, dựa trên giá trị của trường khác
10
A
Trả lời
17
Bạn có thể ghi đè phương pháp get_readonly_fields
của admin:
class MyAdmin(admin.ModelAdmin):
def get_readonly_fields(self, request, obj=None):
if obj and obj.another_field == 'cant_change_amount':
return self.readonly_fields + ('amount',)
return self.readonly_fields
0
Đối với cách điền vào một lĩnh vực từ khác, bạn cần phải thêm một thuộc tính prepopulated_fields
đến lớp có liên quan ModelAdmin
. Ví dụ:
class PostAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("title",)}
Tài liệu liên quan có thể tìm thấy here.
Tuy nhiên, trong phiên bản django tôi đang sử dụng tại thời điểm này (1.3), điều này dường như tạo ra lỗi khi readonly_fields
cũng được sử dụng.
0
Khai báo bất kỳ vĩnh viễn readonly_fields trong cơ thể của lớp, là thuộc tính readonly_fields lớp sẽ được truy cập từ xác nhận
Các vấn đề liên quan
- 1. jQuery X-Editable: Cập nhật trường chọn dựa trên giá trị của trường chọn khác
- 2. Giá trị trường đặt Django tự động dựa trên các trường khác
- 3. Các trường động trong Django Admin
- 4. django admin: Làm thế nào để tùy chỉnh một trường trong các trường?
- 5. 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?
- 6. Django: Lọc trường datetime theo * chỉ * giá trị năm?
- 7. Đường ray - Cách xác thực trường chỉ khi một trường khác có giá trị nhất định?
- 8. Hiển thị các trường dựa trên giá trị lựa chọn
- 9. Graphviz: Chỉ màu một trường trong Nút ghi dựa trên
- 10. Django Admin: Cần điều kiện hiển thị các trường
- 11. 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ể
- 12. Cách tạo trường chỉ đọc trong Chế độ xem
- 13. Tìm kiếm văn bản cho trường ForeignKey ở Django Admin
- 14. Cách đặt giá trị mặc định của trường đặt hàng +1 của giá trị cao nhất trong Django
- 15. Giá trị được đọc trong môi trường Đa luồng
- 16. Các trường chỉ đọc ở dạng thức django
- 17. Django: giá trị mặc định của trường từ trường hợp của mô hình tự
- 18. Giá trị mặc định cho trường trong Django mô hình
- 19. Đặt giá trị trường theo phương thức clean() Django Form, nếu trường này không được truyền trong hàm tạo
- 20. trường nhập tự động điền với giá trị của một trường nhập khác
- 21. Cách chỉ tạo một trường dạng số ở Django
- 22. Giá trị TFS "Sao chép" từ một trường này sang một trường khác
- 23. Trường chỉ đọc Django chỉ khi thay đổi, nhưng không phải khi tạo
- 24. Django - Cách điền sẵn các trường biểu mẫu quản trị
- 25. Inlinesulating inlines dựa trên mô hình phụ huynh trong Admin Django
- 26. Làm cách nào để tôi tham chiếu một trường trong Linq dựa trên tên trường động
- 27. Serialization dựa trên trường Jackson
- 28. Django Admin: cách hiển thị các trường từ hai mô hình khác nhau trong cùng một chế độ xem?
- 29. Django: Hiển thị giá trị của trường được chọn nhiều lựa chọn trong một mẫu
- 30. WMD trong Django Admin?
này có thể được thực hiện trong khi maintaing trật tự lĩnh vực? –