Django, la guía que me ha ayudado a manejarlo eficazmente

I have worked as a frontend and backend developer handling technologies such as Django, Ionic, Laravel, MySQL, Spring (Java), Oracle, NodeJS, Angular, VueJS with the goal of developing websites and mobile applications that offer high performance and are interactive.
You can learn more about me by visiting my website: www.stalinmaza.com
#frontend #backend #fullstack #javascript #nodejs #php
En mi trabajo me toco manejar el backend con Django y se me hizo bastante duro el comprenderlo, además que no me gustaba mucho python debido a que por un mal espaciado produce errores, prefiero usar corchetes y punto y coma.
Pero el trabajo me solicitaba utilizarlo y así pude descubrir su potencial que habiendo manejado lenguajes backend como JS con NodeJS, PHP con Laravel y ahora Python con Django, mi orden de frameworks más recomendados y optimizados serián:
- NodeJS
- Django
- Laravel
Algunos tips y funciones útiles que puedes o no utilizarlas van a ser listadas y el blog se ira actualizando mediante la profundización en el framework siga avanzando.
Lanzar Errores Propios en formato JSON
# Importar la librería
from rest_framework.exceptions import APIException
# Utilizar la librería
raise APIException("el mensaje a ser retornado")
Manejo de Migraciones
Cuando se necesite resetear las migraciones debido a algún conflicto que tengamos o porque no se aplican los cambios hechos, debemos tomar en cuenta dos casos:
Si podemos borrar toda la BDD
Lo primero que debemos hacer es borrar todos los archivos en la carpeta migraciones excepto el archivo init.py .
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
Luego de eso podemos crear de nuevo las migraciones con el comando:
python manage.py makemigrations
y ejecutamos las migraciones con el comando:
python manage.py migrate
Si borrar toda la BDD no es posible
Primero debemos limpiar las migraciones con el comando:
python manage.py migrate --fake nombreAplicacion zero
Si queremos comprobar que se limpiaron correctamente ejecutamos el siguiente comando y nos listara de cada aplicación las migraciones respectivas
python manage.py showmigrations
Luego de eso procedemos a borrar todos los archivos en la carpeta migraciones excepto el archivo init.py .
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
Luego de eso podemos crear de nuevo las migraciones con el comando:
python manage.py makemigrations
y ejecutamos las migraciones agregando la bandera --fake-initial para que django marque las migraciones como ejecutadas cuando realmente no lo hace, para evitar el problema de que algunas tablas ya existen:
python manage.py migrate --fake-initial
Exportar/Importar datos con Django
Para crear un fixture con los datos actuales el comando es:
python manage.py dumpdata api > api/fixtures/all_2020_02_25_final.json
Para cargar datos desde el fixture creado
python manage.py loaddata api/fixtures/all_2020_02_25_final.json
Hecho esto podemos trabajar normalmente con este gran Framework de Python
Autor
Stalin Maza

