[pyar] Método en Modelo Django

xavier lesa xavierlesa en gmail.com
Lun Ago 8 17:45:42 ART 2011


jaja perdón la mala explicación que te dí, acá vas a encontrar mas info al
respecto http://docs.python.org/tutorial/classes.html


Abrazo

Xavier Lesa
Production Manager

tel: +011 4823-7531 | cel: +011 15 3868-3918

web: http://link-b.com | mail: xavier en link-b.com | xavierlesa en gmail.com
gtalk: xavier en link-b.com | skype: xavierlesa



2011/8/8 xavier lesa <xavierlesa en gmail.com>

> Claro porque self lo manda el modelo sin preguntar, entonces si vos se lo
> forsas en la llamada,
>
>     imagen = obtener_imagen_principal(self)
>
> python acá entiende que hay un objeto self que tiene que meter en esa
> función.
>
> ponelo así:
>
>     imagen = obtener_imagen_principal()
>
> Abrazo
>
>
> Xavier Lesa
> Production Manager
>
> tel: +011 4823-7531 | cel: +011 15 3868-3918
>
> web: http://link-b.com | mail: xavier en link-b.com | xavierlesa en gmail.com
> gtalk: xavier en link-b.com | skype: xavierlesa
>
>
>
> 2011/8/8 matias benedetto <matias.benedetto en gmail.com>
>
>>
>> Sip, es lo mismo que hagas esto,
>>>
>>> class Producto(models.Model):
>>>
>>>     @property
>>>     def imagen(self):
>>>
>>>         try:
>>>             mm = Multimedia.objects.get(producto=self.id, principal=1)
>>>         except:
>>>             mm = Multimedia.objects.filter(producto=self.id)[0]
>>>
>>>         return mm
>>>
>>>      nombre = models.CharField(max_length=255)
>>>
>>
>>
>> Me sigue tirando el mismo error, no entiendo por qué. En el def
>> __unicode__(self): funciona bien, porque en el otro metodo no?
>> models.py", line 42, in Producto
>>     imagen = obtener_imagen_principal(self)
>>
>> NameError: name 'self' is not defined
>>
>> copio los dos modelos completo por si ayuda:
>>
>>
>> class Producto(models.Model):
>>     def __unicode__(self):
>>         return str(self.id) + " | " + self.nombre
>>
>>     @property
>>
>>     def obtener_imagen_principal(self):
>>      try:
>>          return self.multimedia_set.get(principal=1)
>>
>>      except Producto.DoesNotExit:
>>          return self.multimedia_set.all()[0] # cualquiera
>>
>>     nombre = models.CharField(max_length=255)
>>     sku = models.CharField(max_length=50)
>>     descripccion = models.TextField(blank=True, null=True, default=None)
>>     peso = models.CharField(max_length=5)
>>     material = models.CharField(max_length=20)
>>     estado = models.CharField(max_length=2, default=1) #0 sin stock, 1
>> stock normal, 2 poco stock
>>     visible = models.CharField(max_length=2, default=1) #0 no visible, 1
>> visible
>>     categorias = models.ManyToManyField(Categoria)
>>     stock = models.CharField(max_length=10)
>>     fecha = models.DateTimeField(auto_now_add=True)
>>     modificado = models.DateTimeField(auto_now=True)
>>     visto = models.IntegerField(default=0)
>>
>>     imagen = obtener_imagen_principal(self)
>>
>>
>>
>> class Multimedia (models.Model):
>>     def __unicode__(self):
>>         return str(self.id)+ " | " + " IdImg " + str(self.producto.id) +
>> " | " + self.producto.nombre
>>
>>     producto = models.ForeignKey(Producto)
>>     tipo = models.CharField(max_length=2, default=0)#0 imagen, 1 video
>>     urloriginal =  models.CharField(max_length=255, null=True, blank=True)
>>     principal = models.BooleanField(default = False)
>>      alt = models.CharField(max_length=255, null=True, blank=True)
>>
>>     imagen = ImageWithThumbsField(name="imagen",
>> upload_to='imagenes_productos',
>> sizes=((50,50),(100,100),(125,125),(230,230)))
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110808/2c9b9276/attachment.html>


More information about the pyar mailing list