Hola Vijay, agradezco tu respuesta,

Tienes razon, los campos los puse en None porque el erro me lo genera el
campo de articulo=articulo_data

Articulo_Consolidacion.objects.create(*articulo=articulo_data, *tag=taglist,
tono=array_tono, tema__id= temalist  )

Aun no entiendo bien como funciona los set, te agradecería si me regalaras
un ejemplo.

Adicional no se si es correcto o se puede guardar un array o lista al
momento de hacer el save, en el caso de taglis y temalist.

Agradezco mucho tu ayuda.






El sáb., 13 de abr. de 2019 a la(s) 19:55, Vijay Khemlani (
vkhem...@gmail.com) escribió:

> 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 <tatianamesa...@gmail.com> 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 django-users+unsubscr...@googlegroups.com.
>> To post to this group, send email to django-users@googlegroups.com.
>> 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 django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> 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
> <https://groups.google.com/d/msgid/django-users/CALn3ei1xa3%2BeRCcw8fLpnRGS_NY%2BDqzBGAch6mgP6qcAOEfW%2BA%40mail.gmail.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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/CAHAr%3D_1rsAdype_t%2ByqWUbXc9pesySNTDbBNYqG9sHY8W_KY-A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to