Loading...

django-es@googlegroups.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [Django-es] Sobreescribir metodo save() + campo ManyToMany Esau Rodriguez Tue Feb 07 10:04:54 2012

Tienes que usar self.save_m2m() antes de la llamada a super

2012/2/7 Alo monte <[EMAIL PROTECTED]>:
> Hola djangueros,
>
> Tengo un problema con el siguiente codigo:
>
> class Documento(models.Model):
>
>     nombre_doc = models.CharField("Nombre del Documento", max_length=15,
> null=False)
>     fichero = models.FileField(upload_to='fichero_sub/')
>     descripcion = models.TextField(null=True)
>     fecha_valido = models.DateField()
>     etiqueta = fields.TagField()
>     activo = models.BooleanField()
>     #Campos referentes a datos extraidos de cada documento
>     tipo_archivo = models.CharField(max_length=30, null=True, blank=True)
>     tamano_archivo = models.IntegerField("Tamano del Archivo (bytes)",
> null=True, blank=True)
>     fecha_creacion = models.DateTimeField(null=True, blank=True)
>     fecha_mod = models.DateTimeField("Fecha de Modificacion", null=True,
> blank=True)
>     grupo = models.ManyToManyField(Group, null=True, blank=True)
>
>     def __unicode__(self):
>
>         return u'%s'%(self.nombre_doc,)
>
>     def save(self, *args, **kwargs):
>
>         extension = self.fichero.name.split(".")
>
>         try:
>
>             if extension[-1]:
>
>                 self.tipo_archivo =
> mimetypes.types_map['.%s'%(extension[-1],)]
>                 self.tamano_archivo = self.fichero.size
>                 self.fecha_creacion =
> default_storage.created_time(self.fichero.name)
>                 self.fecha_mod =
> default_storage.modified_time(self.fichero.name)
>
>                 super(Documento, self).save(*args, **kwargs)
>
>         except:
>
>             pass
>
> Cuando intento guardar objetos de tipo DOCUMENTO desde el admin, me lanza el
> siguiente error:
>
> 'Documento' instance needs to have a primary key value before a many-to-many
> relationship can be used.
>
> Agradezco su colaboración.
>
>
> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del
> Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a [EMAIL PROTECTED]
> Para anular la suscripción a este grupo, envíe un mensaje a
> [EMAIL PROTECTED]
> Para obtener más opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.



-- 
Esaú Rodríguez
[EMAIL PROTECTED]

-- 
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del 
Framework Django de habla hispana" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [EMAIL PROTECTED]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com.bo/group/django-es.