Quiero actualizar el Meta.fields
dinámicamente. ¿Es posible hacerlo desde el constructor de Formulario? Intenté lo siguiente, pero year
no aparece durante la generación del formulario. Solo se muestran name
y title
.¿Cómo se actualizan dinámicamente los campos de una clase Django Form Meta desde el constructor de formulario?
class Author(models.Model):
name = ...
title = ...
year = ...
class PartialAuthorForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title')
def __init__(self, *args, **kwargs):
self.Meta.fields += ('year',)
Creo que esa es la solución más elegante, ya que no va a perder la magia de la clase ModelForms. Pero no te olvides de llamar a super() en __init__. – bjunix
¡Uy! Corregido, gracias! – mkoistinen