[pyar] [django] OneToMany FormField

Pedro Jose Pezzarini jose2190 en gmail.com
Mie Sep 24 07:55:09 ART 2014


Dale, no hay problema, te sugiero un esquema:

class Cliente(models.Model):
    nombre = models.CharField()
    servicios = models.ManyToManyField(Servicio)

class Servicio(models.Model):
    nombre = models.CharField()


De este modo, servicios pasa a ser un atributo del cliente. Imaginate como
si en servicios del modelo Cliente, ahora hay una lista con todos los
servicios, puedes agregar y quitar servicios a propia voluntad.

Para trabajar con un objeto del modelo cliente sería algo así:
cliente = Cliente.objects.filter( #TU CONDICION)
cliente.servicios.all()

Con eso tienes un elemento iterable con el que puedes recorrer los
servicios asociados a tu cliente.


El 24 de septiembre de 2014, 7:46, Daniel <dmlistapython en gmail.com>
escribió:

> Por las dudas (y aclaro que no se como hacerlo)
> ¿es algo parecido a cómo se asignan permisos de usuario?
>
> El 24 de septiembre de 2014, 6:08, David Bohm <voidhmaster en gmail.com>
> escribió:
>
>> Se me mandó de nuevo con la tecla space. Mil disculpas.
>>
>>
>> Para finalizar: Quiero un formulario de cliente en los que pueda
>> asignarle un servicio ya creado y la opcion de asignarle mas.
>>
>> Muchas gracias!
>>
>> El 24 de septiembre de 2014, 6:07, David Bohm <voidhmaster en gmail.com>
>> escribió:
>>
>> Disculpen, se me mandó solo...
>>>
>>> Sigo acá:
>>>
>>> class Cliente(models.Model):
>>>     nombre = models.CharField()
>>>
>>> class Servicio(models.Model):
>>>     nombre = models.CharField()
>>>     cliente = models.ForeignKey(Cliente)
>>>
>>> Lo que yo quiero lograr es que un cliente pueda adquirar varios
>>> servicios. Pero esos servicios son limitados y pŕe-definidos. No quiero
>>> agregar como si fueran formsets_inlines, lo que quiero hacer es poder
>>> asignarle al cliente, varios Servicios que ya tengo dados alta.
>>>
>>> Mi idea es tener un formulario para dar de alta/editar un cliente y que
>>> uno de esos campos sean formsets con un choicefield con los servicios ya
>>> definidos.
>>>
>>> Por ej:
>>>
>>>        Cliente:
>>>             nombre:
>>>             servicio_adquirido = (lista de servicios a elegir)
>>>
>>>
>>> El 24 de septiembre de 2014, 6:02, David Bohm <voidhmaster en gmail.com>
>>> escribió:
>>>
>>> Hola gente! La verdad es que me enredé con el tema de la relación o2m y
>>>> cómo lograrlo con django.
>>>>
>>>> Cómo es campo no existe, la opción que me queda es ésta:
>>>>
>>>> class Servicio(models.Model):
>>>>
>>>>
>>>> --
>>>> La capacidad para pensar diferente es más importante que la información
>>>> obtenida.
>>>>
>>>
>>>
>>>
>>> --
>>> La capacidad para pensar diferente es más importante que la información
>>> obtenida.
>>>
>>
>>
>>
>> --
>> La capacidad para pensar diferente es más importante que la información
>> obtenida.
>>
>> _______________________________________________
>> 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
>>
>
>
>
> --
> Daniel Malisani
>
> _______________________________________________
> 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/20140924/e5da1429/attachment.html>


More information about the pyar mailing list