[pyar] [Django] Valores constantes y buenas practicas

Daniel dmlistapython en gmail.com
Jue Ago 28 14:27:45 ART 2014


El 28 de agosto de 2014, 13:59, Julo Waks <ifjulo en gmail.com> escribió:

> Buen día !
> Cómo estan?
> Tengo la siguiente situación:
>
> En más de un proyecto de django me encuentro con la situación donde debo
> definir un modelo que tiene un State (estado).
> Entonces lo que suelo hacer es:
>
> # Pseudo codigo aqui
>
> def State(models.Model):
>     name = models.CharField()
>
> def Compra(models.Model):
>     # Fields varios (nombre, descrpcion, etc)
>     State = models.ForgeinKey(State)
>     # Más fields...
>
> El problema me surge cuando quiero hacer cosas como:
>
>  if (Compra.State_id == 1):
>
> Julian, primero aclaro que no soy el indicado para hablar de buenas
prácticas,
si alguno de los grosos de la lista vieran código mio probablemente me
estaquearían
en el obelisco (o el puente colgante de Santa Fe que me queda cerquita) :)
pero... opino... total es gratis.

No me parece buena idea usar la ID para comparar
no se querrá decir en tu código Compra.State_id == 1
probablemente sería mejor usar algo como

if compra.state is estado_seleccionado:
    #hacer_algo


por lo pronto una aclaración (y que alguien me corrija si me equivoco)
los nombres de clases van con Mayúsculas (supongo que en tu código quisiste
poner class en lugar de def)
los nombres de las def van en minusculas
pero una cosa es el nombre de la clase y otra una _instancia_ de clase

ejemplo:


mi_compra = Compra()
print(mi_compra.state)

Compra es una clase
mi_compra es una instancia de esa clase

¿se entiende algo o armé lio?

-- 
Daniel Malisani
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140828/05f5c650/attachment.html>


More information about the pyar mailing list