2012-07-22 28 views

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

này có thể được thực hiện trong khi maintaing trật tự lĩnh vực? –

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