Esta línea

Articulo_Consolidacion.objects.create(articulo=articulo_data,tagicNone,
tono=array_tono, tema__id=None)

No tiene mucho sentido (que es tagicNone?, de donde sale arrary_tono? no
estas usando tag_list ni tema_list...)

Ademas en tu modelo el campo "articulo" de "ArticuloConsolidacion" es un
ManyToManyField pero le estas asignando una instancia especifica en tu
llamado a create ("articulo=articulo_data")

Lo único que te puedo decir es que primero crees y guardes la instancia de
ArticuloConsolidacion SIN setear los campos ManyToMany, y despues de eso
llamar al metodo set de sus campos manytomany para setear esos campos
despues

Saludos

On Fri, Apr 12, 2019 at 7:23 PM <[email protected]> wrote:

> Hola, tengo una duda acerca de como guardar many to many en Django ,
> agradecería mucho sus ayudas
>
>
>
> En la tabla de artículos cargo los datos, luego quiero asociarlos con la
> tabla temas, pero cuando hago el save me sale este error
>
>
> Guardo primero todos los articulos.
>
>
> *TypeError: Direct assignment to the forward side of a many-to-many set is
> prohibited. Use articulo.set() instead.*
>
>
> Busque el error y ya instacio el id del articulo que guarde, pero me sigue
> saliendo el mismo error:
>
>  de esta manero lo guardo
>
>
>
>
>      articulo_data = Articulo.objects.get(id=dato) #instancia de articulo
>
>
>         #TAGS
>
>         taglist =  []
>
>         for tag in tags:
>
>             tags = Tag.objects.get(id=tag)
>
>             taglist.append(tags)
>
>         print(taglist)
>
>
>         #TEMAS
>
>         temalist =  []
>
>         for topic in topics_array:
>
>             tema = Tema.objects.get(nombre=topic)
>
>             temalist.append(tema)
>
>         print(temalist)
>
>
>         save =
> Articulo_Consolidacion.objects.create(articulo=articulo_data,tagicNone,
> tono=array_tono, tema__id=None)
>
>
>
>
>
> Estos son mis modelos
>
> ------------------------------------------------------
>
> class Articulo(models.Model):
>
>     titulo = models.CharField(max_length=255, blank=True)
>
>     texto = models.TextField()
>
>     url = models.CharField(max_length=255)
>
>     fuente = models.ForeignKey(Fuente, on_delete=models.CASCADE)
>
>     fecha = models.DateTimeField(null=True)
>
>     created_at = models.DateTimeField(auto_now_add=True, auto_now=False,
> verbose_name=u'Fecha de creación')
>
>     ubicacion = models.CharField(max_length=255)
>
>     tipo_facebook = models.CharField(max_length=255)
>
>     id_articulo_facebook = models.CharField(max_length=255,blank=True,
> null=True)
>
>     proyecto = models.ManyToManyField('Proyecto')
>
>     finished = models.BooleanField(verbose_name=u'Finalizado',
> default=False)
>
>     asignado = models.BooleanField(verbose_name=u'Asignado', default=False)
>
>     state = models.BooleanField(verbose_name=u'Para borrar', default=False)
>
>     recategorisation = models.BooleanField(verbose_name=u'Recategorizar',
> default=False)
>
>     history = HistoricalRecords()
>
> ----------------------------------------------------------
>
>
> class Articulo_Consolidacion(models.Model):
>
>     state = models.BooleanField(verbose_name=u'Prueba', default=False)
>
>     articulo = models.ManyToManyField('Articulo')
>
>     tag = models.ManyToManyField('tag')
>
>     tema = models.ManyToManyField('Tema')
>
>     tono = models.ManyToManyField('Tono')
>
>     narrativa = models.ManyToManyField('Narrativa')
>
>     nivelpromocion = models.ManyToManyField('NivelPromocion')
>
>     posicion = models.ManyToManyField('Posicion')
>
>     brand_love = models.ManyToManyField('BrandLove')
>
>     promocion = models.ManyToManyField('Promocion')
>
>     created_at = models.DateTimeField(auto_now_add=True)
>
>     updated_at = models.DateTimeField(auto_now=True)
>
>     history = HistoricalRecords()
>
>     id_comentario = models.CharField(max_length=255,null=True)
> ------------------------------------------
> class Tema(models.Model):
>     nombre = models.CharField(max_length=255)
>     history = HistoricalRecords()
> ---------------------------------------------
>
>
>
>
>
> [image: Captura de pantalla de 2019-04-12 18-07-56.png]
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/743469b3-1fbf-4002-8d9e-4dd01e37e948%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/743469b3-1fbf-4002-8d9e-4dd01e37e948%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CALn3ei1xa3%2BeRCcw8fLpnRGS_NY%2BDqzBGAch6mgP6qcAOEfW%2BA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to