Advertisement
mgibsonbr

Endereços no Django

Dec 18th, 2013
986
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.81 KB | None | 0 0
  1. # Endereço
  2. obj.endereco = obj.endereco if obj.endereco_id else Endereco()
  3. obj.endereco.numero = end['numero']
  4. obj.endereco.complemento = end['complemento']
  5. obj.endereco.cep = end['cep']
  6. # Logradouro
  7. if 'pk' in end['logradouro']:
  8.     obj.endereco.logradouro = Logradouro.objects.get(pk=end['logradouro']['pk'], tipo__tenant=usuario.entidade_id)
  9. else:
  10.     obj.endereco.logradouro = Logradouro(nome=end['logradouro']['nome'])
  11.     # Tipo do Logradouro
  12.     obj.endereco.logradouro.tipo = TipoLogradouro.objects.get(pk=end['logradouro']['tipo']['pk'], tenant=usuario.entidade_id)
  13.     # WTF simplificar essa "pirâmide"
  14.     # Bairro
  15.     if 'pk' in end['logradouro']['bairro']:
  16.         obj.endereco.logradouro.bairro = Bairro.objects.get(pk=end['logradouro']['bairro']['pk'], cidade__estado__pais__tenant=usuario.entidade_id)
  17.     else:
  18.         obj.endereco.logradouro.bairro = Bairro(nome=end['logradouro']['bairro']['nome'])
  19.         # Cidade
  20.         if 'pk' in end['logradouro']['bairro']['cidade']:
  21.             obj.endereco.logradouro.bairro.cidade = Cidade.objects.get(pk=end['logradouro']['bairro']['cidade']['pk'], estado__pais__tenant=usuario.entidade_id)
  22.         else:
  23.             obj.endereco.logradouro.bairro.cidade = Cidade(nome=end['logradouro']['bairro']['cidade']['nome'])
  24.             # Estado
  25.             if 'pk' in end['logradouro']['bairro']['cidade']['estado']:
  26.                 obj.endereco.logradouro.bairro.cidade.estado = Estado.objects.get(pk=end['logradouro']['bairro']['cidade']['estado']['pk'], pais__tenant=usuario.entidade_id)
  27.             else:
  28.                 obj.endereco.logradouro.bairro.cidade.estado = Estado(nome=end['logradouro']['bairro']['cidade']['estado']['nome'])
  29.                 # Pais
  30.                 if 'pk' in end['logradouro']['bairro']['cidade']['estado']['pais']:
  31.                     obj.endereco.logradouro.bairro.cidade.estado.pais = Pais.objects.get(pk=end['logradouro']['bairro']['cidade']['estado']['pais']['pk'], tenant=usuario.entidade_id)
  32.                 else:
  33.                     obj.endereco.logradouro.bairro.cidade.estado.pais = Pais.objects.create(nome=end['logradouro']['bairro']['cidade']['estado']['pais']['nome'], tenant=usuario.entidade_id)
  34.                 obj.endereco.logradouro.bairro.cidade.estado.save()
  35.                 obj.endereco.logradouro.bairro.cidade.estado = obj.endereco.logradouro.bairro.cidade.estado # Self-assign: sem ele, `estado` é None
  36.             obj.endereco.logradouro.bairro.cidade.save()
  37.             obj.endereco.logradouro.bairro.cidade = obj.endereco.logradouro.bairro.cidade
  38.         obj.endereco.logradouro.bairro.save()
  39.         obj.endereco.logradouro.bairro = obj.endereco.logradouro.bairro
  40.     obj.endereco.logradouro.save()
  41.     obj.endereco.logradouro = obj.endereco.logradouro
  42. obj.endereco.save()
  43. obj.endereco = obj.endereco
  44. obj.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement