[pyar] [django] OneToMany FormField

Tim Zenderman tim en bananadesk.com
Mie Sep 24 09:11:08 ART 2014


También podrías separar el servicio en otro modelo y mantener un FK? Algo
asi:

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

class ServicioVendido(models.Model):
    cliente = models.ForeignKey(Cliente)
    servicio = models.ForeignKey(Servicio)
    precio_vendido = models.DecimalField()

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


2014-09-24 7:55 GMT-03:00 Pedro Jose Pezzarini <jose2190 en gmail.com>:

> 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
>>
>
>
> _______________________________________________
> 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
>



-- 
Best,
Tim Z
BananaDesk
bananadesk.com/
<https://www.facebook.com/banana.desk.pms>
<https://twitter.com/BananaDesk_en>  <http://www.pinterest.com/bananadesk/>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140924/451c8029/attachment-0001.html>


More information about the pyar mailing list