Skip to content

Formularios, validación y admin

Django incluye formularios, validación y un admin muy potente para gestión interna.

Form

python
class ProductForm(forms.Form):
    name = forms.CharField(max_length=120)
    price = forms.DecimalField(min_value=0)

ModelForm

python
class ProductForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = ["name", "sku", "price", "stock"]

Validación de modelo

python
def clean(self):
    if self.price < 0:
        raise ValidationError("Price must be positive")

Admin

python
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    list_display = ["name", "sku", "price", "stock"]
    search_fields = ["name", "sku"]

Buenas practicas

  • Usa validación en serializers/forms y modelos cuando aplique.
  • Personaliza admin para operación real.
  • No des permisos admin amplios sin necesidad.
  • Audita cambios sensibles.