#236 · Herramienta para desarrolladores

Django Converter

Pega una clase models.Model y obtén un CREATE TABLE aproximado. El conversor reconoce tipos frecuentes como CharField, TextField, IntegerField, BigIntegerField, BooleanField, DateField, DateTimeField, DecimalField y UUIDField. También interpreta null=True y unique=True cuando aparecen de forma directa.

Datos de entrada

Entrada de texto
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega una clase de modelo.
  2. Ejecuta la conversión.
  3. Revisa el mapeo de tipos.
  4. Adapta nombres, claves y dialecto SQL a tu base de datos.

Qué hace esta herramienta para desarrolladores

Genera SQL de referencia a partir de declaraciones simples de campos Django.

Extrae el nombre de la clase y cada asignación models.*Field(...), después aplica una tabla explícita de tipos.

No reproduce migraciones, relaciones, índices condicionales, Meta constraints ni diferencias completas entre PostgreSQL, MySQL y SQLite.

Ejemplo

class Product(models.Model): name = models.CharField(max_length=120) price = models.DecimalField(max_digits=10, decimal_places=2)

Casos de uso

  • Documentar un esquema de alto nivel.
  • Comparar modelos con tablas externas.
  • Crear prototipos SQL rápidos.

Consejos para obtener resultados fiables

  • No ejecutes el SQL sin revisarlo.
  • Define claves foráneas manualmente.
  • Comprueba longitudes y precisión.
  • Usa migraciones Django como fuente real del esquema.

Detalles del procesamiento

El mapeo es explícito y conservador. CharField usa VARCHAR(max_length) cuando se detecta; DecimalField usa DECIMAL(max_digits, decimal_places).

Las relaciones y opciones de base de datos avanzadas quedan fuera del conversor y se anotan como tipos genéricos si no se reconocen.

Preguntas frecuentes

¿Django Converter genera SQL idéntico a una migración?

No. Produce un esquema orientativo para lectura o prototipado; Django y el backend de base de datos deciden el SQL real de las migraciones.

¿Reconoce DecimalField con precisión y escala?

Sí, cuando max_digits y decimal_places aparecen como argumentos literales en la declaración del campo.

¿Convierte ForeignKey?

No de forma completa. Las relaciones requieren información adicional sobre tabla destino, política on_delete e índices.

¿Qué dialecto SQL usa?

Usa tipos SQL genéricos y legibles. Debes adaptar detalles al motor concreto antes de ejecutar el resultado.

¿Respeta null=True y unique=True?

Sí, esas opciones directas se reflejan como NULL y UNIQUE cuando pueden detectarse.

Resumen del módulo

DatoValor
HerramientaDjango Converter
CategoríaHerramientas de frameworks backend
Ejecución100 % local