[pyar] Django foreignKey to manytomany

Alessandro Odetti aodetti en gmail.com
Mie Nov 9 14:49:01 ART 2016


Excelente, la solucion que te decia yo era la alternativa a usar migrations
de tipo RenameField.
Me alegro que haya servido.

Saludos!

El 9 de noviembre de 2016, 14:42, Juan Carlos Abdala <tonisgo en gmail.com>
escribió:

> Genial Funciono solo que me salte un par de pasos
>
> Directamente hice:
>
> 1) agregar user2 = models.ManyToManyField(User, related_name='fieldss')
> y crear a migracion
> 2) crear una data migration para agregar el user desde user2 al campo
> agregado en el paso 4
> 3) crear migracion para eliminar el campo user
> 4) cambiar el nombre de user2 a user y funciono!!
>
>
> Gracias Ale Odetti y Pancho Jay por la mano!!
>
> P.D: En breve armo post para no olvidarme y agrego los agradecimientos!!
>
>
>
>
>
>
>
>
>
>
>
>
> El 9 de noviembre de 2016, 14:09, Alessandro Odetti<aodetti en gmail.com>
> escribió:
>
>> Hola Juan,
>>
>> yo haria lo siguiente:
>> 1) crear un campo extra, user2 = models.ForeignKey(User,
>> related_name='fields') y migrar
>> 2) crear una data migration (https://docs.djangoproject.co
>> m/es/1.10/topics/migrations/#data-migrations) para copiar los usuarios
>> de user a user2 en cada instancia
>> 3) migracion para eliminar el campo user
>> 4) agregar user = models.ManyToManyField(User, related_name='fields')
>> y crear a migracion
>> 5) crear una data migration para agregar el user desde user2 al campo
>> agregado en el paso 4
>> 6) crear migracion para eliminar el campo user2
>>
>> Te sirve?
>>
>>
>> El 9 de noviembre de 2016, 14:00, Juan Carlos Abdala <tonisgo en gmail.com>
>> escribió:
>>
>>> Gente estoy luchando con lo siguiente, tengo una base de un soft
>>> funcionando hace rato, pero ahora el modelo necesita que a muchos usuarios
>>> le pueda asignar muchos campos.
>>>
>>> Lo que estoy intentando es lo siguiente:
>>>
>>> Pasar de
>>>
>>> user = models.ForeignKey(User, related_name='fields')
>>>
>>>
>>> a
>>>
>>> user = models.ManyToManyField(User, related_name='fields')
>>>
>>>
>>> Probe un par de cosas:
>>> http://stackoverflow.com/questions/26348260/alter-model-to-a
>>> dd-through-relationship-to-order-a-manytomany-field-django-1
>>>
>>> http://stackoverflow.com/questions/26927705/django-migration
>>> -error-you-cannot-alter-to-or-from-m2m-fields-or-add-or-remove
>>>
>>> En definitiva ir dando de alta al nuevo con el nombre user1 (hacer
>>> makemigrations), después eliminar user (hacer makemigration) y después
>>> cambiar el nombre de user1 a user (mk mig).
>>>
>>> Pero cuando intento el migrate:
>>>
>>> ValueError: Cannot alter field front.Field.user into front.Field.user -
>>> they are not compatible types (you cannot alter to or from M2M fields, or
>>> add or remove through= on M2M fields)
>>>
>>> La cuestión es que tengo que lograr migrar con los datos que están.
>>>
>>>
>>> Saludos y desde ya gracias.
>>>
>>> --
>>> Att. Juan Carlos Abdala
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>> --
>> *- Alessandro Odetti -   *
>>
>> _______________________________________________
>> 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
>>
>
>
>
> --
> Att. Juan Carlos Abdala
>
>
> _______________________________________________
> 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
>



-- 
*- Alessandro Odetti -   *
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20161109/4ed6ff79/attachment.html>


Más información sobre la lista de distribución pyar