Marzo 11, 2009 - 11:16 am - Posted by Camilo Nova
Trabajando con modelos en Django para aplicaciones web de alto perfil, como las desarrolladas por AxiaCore, nos encontrábamos frecuentemente con tener que hacer cálculos aritméticos básicos manualmente sobre un conjunto de datos en particular.
Por ejemplo si necesitábamos obtener el total de ventas de un mes determinado, se tenia que iterar cada elemento del conjunto de datos (QuerySet) e ir sumando en una variable cada valor obtenido, los que hemos trabajado con aplicaciones conectadas a una base de datos sabemos que existen funciones de SQL con SUM() que efectúan esa tarea mucho mas cómodamente.
Afortunadamente para la nueva versión de Django, próxima a salir, la v1.1 existe la posibilidad de utilizar ‘Agregaciones’ y ‘Anotaciones’ que permiten efectuar este tipo de cálculos de una manera mucho mas fácil y recargando la responsabilidad de los cálculos a la base de datos y no a la lógica de la aplicación.
Factura.objects.aggregate(
Avg('precio'), Max('precio'), Min('precio'), Sum('precio')
)
Mas información en la documentación oficial del proyecto.
Enlace: http://docs.djangoproject.com/en/dev/topics/db/aggregation/
Etiquetas:Desarrollo, Django | Comente »
Enero 21, 2009 - 12:07 pm - Posted by Camilo Nova
Es posible declarar tipos ForeignKey en un modelo de datos de Django, pero puede que necesitemos filtrar los valores de esta relación, para efectuar tal cambio necesitamos recurrir al Form que muestra ese modelo y modificar el método __init__ de la siguiente manera:
1
2
3
4
| class MyModelForm(forms.Form):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.fields["myFKField"].queryset = MyModel.objects.all() |
Esto permite cambiar los datos que son mostrados por el campo en el Form por unos filtrados que nosotros queramos, existe tambien la posibilidad de trabajar con limit_choices_to de ForeignKey pero esta solución me funciono de inmediato.
Etiquetas:Codigo Fuente, Django, Python | Comente »
Diciembre 10, 2008 - 11:31 am - Posted by Camilo Nova
Es importante mantener unas convenciones generales en la estructura del software que desarrollamos, mas aun si estas son estandares a nivel mundial, por eso hemos adoptado estos lineamientos [1] en los cuales creo que cumplen con la linea que muchos hemos manejado desde un tiempo atras.
Enlace
[1] http://ericholscher.com/projects/django-conventions/app/
Etiquetas:Django | 2 Comentarios »
Diciembre 2, 2008 - 10:58 pm - Posted by Camilo Nova
En esta pagina [1] encontre una guia sobre como utlizar AJAX con JQuery en Django, vamos a sorprender en nuestros desarrollos con tanta capacidad. Excelente!
Enlace:
[1] http://lethain.com/entry/2007/dec/11/two-faced-django-part-5-jquery-ajax/
Etiquetas:Desarrollo, Django | 2 Comentarios »
Diciembre 2, 2008 - 8:53 am - Posted by Camilo Nova
Llego al final aquella epoca dorada en la cual uno destinaba 6 meses para desarrollar un proyecto de software, con muchos recursos y tareas repetitivas, junto con un elevado costo.
Hoy en dia los frameworks son mas agiles y permiten una produccion mucho mayor de funcionalidad con menos codigo fuente, esta tendencia provoca que los desarrollos tomen mucho menos tiempo y recursos, lo que implica a su vez que los costos sean menores y que esta industria cada vez sea mas agil.
Yo sigo sorprendido con django, es muy poco el codigo que se debe escribir, basicamente la tarea es de arquitectura y no de codificación, por ahora estoy desarrollando una aplicacion muy sencilla y me ha tomado una tercera parte de lo que me hubiera costado realizarlo en java, creo que he acertado en la tendencia de lenguajes de programacion y esta vez python sigue ganando la batalla.
Etiquetas:Codigo Fuente, Desarrollo, Django, Java, Python, Software | Comente »
Octubre 21, 2008 - 11:15 am - Posted by Camilo Nova
Para activar las tablas con el motor InnoDB en MySQL con Django se utiliza la siguiente configuración en el archivo settings.py
1
2
| DATABASE_ENGINE = 'mysql'
DATABASE_OPTIONS = {"init_command": "SET storage_engine=INNODB"} |
Etiquetas:Desarrollo, Django, MySQL | Comente »
Septiembre 2, 2008 - 4:52 pm - Posted by Camilo Nova
Existe una forma muy facil de exportar e importar datos en django, es muy util para cuando se necesita informacion de pruebas que tenga que ser insertada en la aplicacion al momento de hacer un ‘deploy’
Para exportar los datos de tu aplicacion simplemente haces:
python manage.py dumpdata –indent=4 –settings=archivo_settings > salida.json
Para importar los datos basta con
python manage.py loaddata salida.json
Me ha parecido excelente que django tenga esta posibilidad, cada dia me gusta mas…
Enlaces:
[1] http://docs.djangoproject.com/en/dev/howto/initial-data/
Etiquetas:Django, Python | Comente »
Agosto 28, 2008 - 5:38 pm - Posted by Camilo Nova
He encontrado un sitio [1] bastante interesante donde se muestran las personas que trabajamos con Django y Python, el sitio esta desarrollado, por supuesto, en Django, y me ha parecido muy bien logrado.
Enlaces:
[1] http://djangopeople.net/axiacore/
Etiquetas:AxiaCore, Django, Python | 2 Comentarios »
Julio 25, 2008 - 10:11 am - Posted by Camilo Nova
Mientras el tiempo que dure programando en JAVA, Eclipse me pareció la mejor pieza de software jamas construida, daba una especie de placer programar con este IDE, la facilidad de encontrar el autocompletado del código, la compilación al instante y muchas otras cosas que cualquier programador espera de un entorno de desarrollo venían con eclipse.
Ahora que me oriento al desarrollo con Django [1], veo que hay algunos que son nostálgicos y quieren utilizar eclipse, pero con Python. Para estas personas, hay un proyecto bastante interesante en [2] el cual junta en un solo paquete eclipse y todas las herramientas que permiten trabajar con Django, es un ahorro en tiempo de configuracion y puesta a punto bastante importante, y pues creo que hace felices a muchas personas que no quieren dejar de utilizar Eclipse.
Yo en lo personal prefiero utilizar la shell de Unix y el editor Scribes [3], alguno tiene una configuracion que recomendar?
Enlaces:
[1] http://www.djangoproject.com
[2] http://www.easyeclipse.org/site/distributions/python.html
[3] http://scribes.sourceforge.net/
Etiquetas:Desarrollo, Django, Java, Python | Comente »
Julio 24, 2008 - 1:54 pm - Posted by Camilo Nova
En nuestro compromiso por compartir algo de nuestro conocimiento con otros empresarios de ParqueSoft, nos hemos comprometido en crear, mantener y administrar una aplicación web que lleve correctamente el manejo de nuestra cooperativa de empresarios. La versión alfa la pueden ver en: parqueco.linche.com
Estamos trabajando duro para llevar la aplicación al nivel que las demás empresas del ParqueSoft esperan, y que nosotros por supuesto estamos dispuestos a brindar.
Cualquier comentario o sugerencia sobre la aplicacion es bien recibido por este medio.
Etiquetas:Desarrollo, Django, Finanzas, Parquesoft | 1 Comentario »