[pyar] [django] factory_boy y queryset

Daniel dmlistapython en gmail.com
Lun Mayo 5 10:46:00 ART 2014


>
>> El 5 de mayo de 2014, 10:09, Juan Manuel Pérez <jmperez.85 en gmail.com>escribió:
>>
>> Factory boy sirve para generar datos sin utilizar fixtures, sino
>>> factories. En una típica aplicación MVC, te generaría los objetos de modelo
>>> necesarios para tus tests.
>>>
>>> ¿Por qué querrías que Factory Boy te generase una queryset? Me parece
>>> medio oscuro eso...
>>>
>>> Saludos,
>>>
>>> JM
>>>
>>>
>>> 2014-05-05 9:18 GMT-03:00 Daniel <dmlistapython en gmail.com>:
>>>
>>>>  Gente, quiero testear funciones de búsqueda en django
>>>> para lo que tengo generadores en factory_boy que me dan
>>>> una perfecta lista para probar pero....
>>>>
>>>> Necesito testear usando filters y Q en los querysets de django
>>>>
>>>> la pregunta cocreta es
>>>> ¿cómo puedo hacer que factory_boy me genere un queryset?
>>>> o
>>>> ¿como hago para agregarle a un queryset la lista de artículos generados
>>>> por factory_boy?
>>>>
>>>
>> para testear los filters y Q que quiero hacer
>>
>> por ejemplo quiero tener una def que me devuelva el queryset con todos
>> los artículos de terminada marca que además cumplan
>> otros requisitos
>>
>>
> Vos deberías testear un comportamiento del objeto, no un filter o queryset
> que éste genere. Imagino que estás definiéndole un método a un manager de
> la clase Article. Tendrías que testear, con ciertos datos, que mandándole
> un mensaje a Article.objects obtenés la respuesta esperada.
>
>
Claro, por ese lado quiero ir,  ¿esta sería la documentación de lo que
hacés referencia?
https://docs.djangoproject.com/en/dev/topics/db/managers/#modifying-initial-manager-querysets


class DahlBookManager(models.Manager):
    def get_queryset(self):
        return super(DahlBookManager,
self).get_queryset().filter(author='Roald Dahl')


pero yo necesitaría distintas busquedas ¿cómo seria?

si yo hago:

class DahlBookManager(models.Manager):
    def autor_que_quiero(self,autor):
        return super(DahlBookManager, self).get_queryset().filter(author=autor)


¿cómo lo uso desde la vista?
-- 
Daniel Malisani
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140505/ba24d0be/attachment.html>


More information about the pyar mailing list