Ok, mira esto no PHP.
En PHP a secas este es el flujo que sigues:
1. Modelar tu DB (Creas tu propio esquema, con tablas, fk, pk, etc.. todo hecho a mano por ti)
2. Usas mysql_* (en el mejor caso PDO) para hacer queries, SELECT, INSERT, UPDATE, DELETE, etc...
3. Suponiendo que tienes modelados tus objetos, una vez hecho lo del paso 2, tratas de adaptarlo a tus objetos. O en el peor de los casos usas los datos así a secas directo del query.
No puedo decir que ese flujo esta mal, porque si cumple su trabajo esta bien. Pero el problema con este arcaico flujo es que simplemente no es mantenible, repites mucho código, es propenso a tener errores y generalmente terminas haciendo un batido de código, con html, js, css, php y sql en muchos lugares.
Ademas, pierdes todo el punto de porque iniciaste. Lo único que quieres hacer es guardar y leer los objetos que modelaste. Así de simple.
Django (en general, cualquier web framework decente) separa los conceptos (ver
MVC).
Por ejemplo en django tu no vas y creas el SQL a mano (no en la creación de tablas, ni en SELECT, UPDATE, INSERT, etc...).
Lo que haces es crear modelos y esos modelos pasan a una o mas tablas.
Ejemplo
Código Python:
Ver original# models.py
from django.db import models
class Persona(models.Model):
nombre = models.CharField(max_length=100)
apellidos = models.CharField(max_length=200)
nacimiento = models.DateField()
Y en tu vista
Código Python:
Ver original#views.py
from .models import Persona
...
# En algun lugar de tu vista
# Obtienes todas las personas
Persona.objects.all()
# Obtienes las primeras 10 personas
Persona.objects.all()[:10]
# Creas una persona y la guardas
juan = Persona(nombre="Juan", apellidos="Ochoa Perez", nacimiento=date(1990, 1, 1))
juan.save()
# Actualizando el objeto y lo guardamos
juan.nombre = "Juan Jose"
juan.save()
En la documentación esta muy bien explicado como funciona cada una de las partes del framework. Lamentablemente en español hay tan poco material (y encima desacualizado).
Screencasts como los de dev.la, (si vi algunos videos), están pobremente explicados porque solo hacen uso de las cosas del framework y no explican los fundamentos de que, como y porque funcionan así cada uno de los componentes. Ademas que no manejan un panorama general. Ni se meten en detalles. (Mas bien parece un mirenme, se hacer Internets).
Si estas interesado por un curso en español. Tal vez te interese esto.
https://mejorando.la/cursos/backend-online
Inician el febrero 2014