Tôi muốn có thêm các trường liên quan đến giá trị của một trường. Do đó tôi xây dựng biểu mẫu quản trị viên tùy chỉnh để thêm một số trường mới.Các trường động trong Django Admin
liên quan đến bài đăng trên blog của Jacobian 1 đây là những gì tôi đã đưa ra:
class ProductAdminForm(forms.ModelForm):
class Meta:
model = Product
def __init__(self, *args, **kwargs):
super(ProductAdminForm, self).__init__(*args, **kwargs)
self.fields['foo'] = forms.IntegerField(label="foo")
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Nhưng trường bổ sung 'foo' không hiển thị trong admin. Nếu tôi thêm lĩnh vực này như thế này, tất cả hoạt động tốt nhưng không phải là năng động theo yêu cầu, để thêm các lĩnh vực liên quan đến giá trị của một lĩnh vực của mô hình
class ProductAdminForm(forms.ModelForm):
foo = forms.IntegerField(label="foo")
class Meta:
model = Product
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Vậy là có bất kỳ phương pháp mà tôi phải kích hoạt khởi tạo một lần nữa để làm cho lĩnh vực mới hoạt động? Hay có nỗ lực nào khác không?
'Trường không xác định (foo) được chỉ định cho GlobalLabel. Kiểm tra các lĩnh vực/fieldets/loại trừ các thuộc tính của lớp GlobalLabelAdmin.' Tôi nhận được lỗi này, tôi không biết tại sao ... bạn có thể vui lòng giúp tôi ra? – bhushya
@bhushya: bạn có thể tìm ra điều này không? Tôi cũng không thể làm cho nó hoạt động trong django 1.9.3, ví dụ: 'django.core.exceptions.FieldError: Các trường không xác định (dynamicfield1, dynamicfield2) được chỉ định cho MyModel' – tehfink
@tehfink có vẻ như bạn chưa xác định trường trong mô hình của bạn .. bạn có thể vui lòng đăng cấu trúc mô hình của bạn trên pastebin.com và chia sẻ liên kết không? – bhushya