Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/10/2013, 23:45
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Como trabajar con los objetos de models.py en django

Código Python:
Ver original
  1. # models.py
  2. class Prueba(models.Model):
  3.     fecha = models.DateField(auto_now_add=False)
  4.     # Ok, por favor nunca nombre tus variables con 1, 2, hasta n
  5.     # Si es solo para aprender esta bien
  6.     # Pero por favor nunca lo hagas en un proyecto real
  7.     campo1 = models.IntegerField(null=True)
  8.     campo2 = models.IntegerField(null=True)
  9.  
  10.     def suma(self):
  11.         # Obviamente saltara una excepcion si campo1 o campo2
  12.         # son null en la db (y por lo tanto None en python)
  13.         return self.campo1 + self.campo2
  14.  
  15. # views.py
  16. from django.shortcuts import render_to_response
  17. from hsemanales.models import Prueba
  18. from django.template import RequestContext
  19.  
  20. def home(request): # Por favor pon nombres descriptivos
  21.     # Objeto creado en memoria
  22.     # No sera guardado en la db hasta que se lo indiques
  23.     # Ojo aqui nunca le indico que lo guarde
  24.     prueba = Prueba(campo1=10, campo2=20)
  25.     return render_to_response('home.html',
  26.                           {'prueba': prueba},
  27.                           context_instance=RequestContext(request))

Y en nuestra plantilla:
Código HTML:
Ver original
  1. {# En alguna parte de nuestra plantilla #}
  2. {{ prueba.suma }}

El problema es parece que no entiendes el concepto de base de datos y tampoco el de ORM. Lo cual si vas empezando es mas que comprensible que no lo sepas así que aquí va.

Un modelo lo puedes visualizar como si fuera una tabla en tu db. Y cada atributo que defines es un campo en tu tabla. Si quieres hacer una operación sobre un campo o mas campo en un solo registro lo puedes hacer por medio de un método.

Otra cosa, te recomiendo leer sobre django, hay un motón de documentación de calidad en la pagina oficial. https://docs.djangoproject.com/en/1.5/

Si lo quieres en español puedes buscar en google y te encontraras con muchos materiales pero la verdad no me atrevo a recomendarlos porque nunca he checado su calidad.