Skip to content

Instantly share code, notes, and snippets.

@rg3915
Last active December 15, 2018 17:31
Show Gist options
  • Select an option

  • Save rg3915/98951e52bb35bdb9cdf2a27a9d0b0e92 to your computer and use it in GitHub Desktop.

Select an option

Save rg3915/98951e52bb35bdb9cdf2a27a9d0b0e92 to your computer and use it in GitHub Desktop.
Criando dados aleatórios para um projeto Django

Criando dados aleatórios para um projeto Django

Esta palestra foi apresentada no Grupy-ABC em 15 de Dezembro de 2018.

Este projeto é baseado no projeto orçamentos, feito em Django.

Tem um video no YouTube que fala um pouco sobre este projeto e a atualização de versão do Django.

https://www.youtube.com/watch?v=0vcefl3m81Q

ORM

Exemplo

Occupation.objects.all()

Occupation.objects.create(occupation='Palestrante')

Bibliotecas que criam dados

pip install model-mommy

Exemplo

from django.test import TestCase
from model_mommy import mommy
from orcamentos.crm.models import Occupation


def setUp(self):
    self.occupations = mommy.make('crm.Occupation', _quantity=10)
pip install fauxfactory

Exemplos em fauxfactory_tests.ipynb

pip install faker

Exemplos em faker_tests.ipynb

pip install mixer

Exemplos em mixer_tests.ipynb

Criar Work com FK

(Work é um model)

mixer.cycle(len(works)).blend(Work, name_work=(work[0] for work in works), cep=(work[1] for work in works), customer=mixer.SELECT, person=mixer.SELECT)

Leia mais em mixer_tests.ipynb

E na doc https://mixer.readthedocs.io/en/latest/quickstart.html#blend-models-with-values

Importar dados de CSV

Exemplos em mixer_tests.ipynb a partir da linha 37.

...
df = pd.read_csv(filename)
...
my_json = df.T.apply(dict).tolist()
...
Customer.objects.bulk_create(aux)

bulk_create is very fast =D

TODO: rg3915/orcamentos#50

Thanks

@rg3915

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment