# Django - Elegir form\_class en UpdateView de manera condicional

**URL:** <https://pyar.discourse.group/t/django-elegir-form-class-en-updateview-de-manera-condicional/720>\
**Category:** Sin categoría\
**Created:** [19 Agosto, 2021 13:58 UTC](https://pyar.discourse.group/t/django-elegir-form-class-en-updateview-de-manera-condicional/720 "2021-08-19T13:58:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![elzoona](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/elzoona/32/159_2.png) [@elzoona](https://pyar.discourse.group/u/elzoona)\
**Post date:** [19 Agosto, 2021 13:58 UTC](https://pyar.discourse.group/t/django-elegir-form-class-en-updateview-de-manera-condicional/720/1 "2021-08-19T13:58:26Z")

</div>

Buenas, tengo una pequeña consulta. Estoy manejando el workflow de una orden, y en los distintos pasos necesito mostrar distintos campos, cual seria la forma correcta de hacer esto?

Por ahora estoy sobreescribiendo el get\_form\_class y mostrando distintos forms con los campos ocultos/excluidos que no son necesarios en esa instancia del workflow.

```python
class OrderWorkflowUpdateView(UpdateView):
    model = OrderWorkflow
    

    def get_form_class(self):
        if self.object.state == 'IP':
            self.form_class = OrderWorkflowInProgressForm
        else:
            self.form_class = OrderWorkflowPendingForm
        return super().get_form_class()

```

Esta encaminado o hay una mejor forma?

Muchas gracias, saludos!

---

<div class="post-metadata">

**Author:** ![pardo\_bsso](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/pardo_bsso/32/89_2.png) [@pardo\_bsso](https://pyar.discourse.group/u/pardo_bsso)\
**Post date:** [19 Agosto, 2021 14:14 UTC](https://pyar.discourse.group/t/django-elegir-form-class-en-updateview-de-manera-condicional/720/2 "2021-08-19T14:14:58Z")

</div>

Hola, qué tal

va por ahí la cosa, directamente en tu get\_form\_class() hacé un return del form que querés que use
