Quiero tener campos adicionales en relación con el valor de un campo. Por lo tanto, creo un formulario de administrador personalizado para agregar algunos campos nuevos.campos dinámicos en Django administración
relacionados con la entrada de blog de jacobian 1 Esto es lo que ocurrió:
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)
Pero el campo 'foo' adicional no aparece en el admin. Si añado el campo como éste, todo funciona bien, pero no es tan dinámica como sea necesario, para agregar los campos en relación con el valor de otro campo del modelo
class ProductAdminForm(forms.ModelForm):
foo = forms.IntegerField(label="foo")
class Meta:
model = Product
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Entonces, ¿hay algún método que tengo que gatillo inicializar de nuevo para hacer que el nuevo campo funcione? ¿O hay algún otro intento?
'Unknown field (s) (foo) especificado para GlobalLabel. Verifique los campos/conjuntos de campo/excluya los atributos de la clase GlobalLabelAdmin. "Estoy recibiendo este error, no sé por qué ... ¿pueden ayudarme? – bhushya
@bhushya: ¿fueron capaces de resolver esto? Tampoco puedo hacer que funcione en django 1.9.3, por ejemplo: 'django.core.exceptions.FieldError: Campo (s) desconocido (dynamicfield1, dynamicfield2) especificado para MyModel' – tehfink
@tehfink Parece que no has definido el campo en su modelo ... ¿puede publicar su estructura de modelo en pastebin.com y compartir el enlace? – bhushya