Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.36 KB | None | 0 0
  1. from __future__ import unicode_literals
  2. from django.db import models
  3. from django.contrib.auth.models import User
  4. from collections import OrderedDict
  5.  
  6. # Choice Fields :
  7.  
  8. RELACAO_PESSOA_PESSOA = (
  9.    
  10.     (0, 'Filho(a)'),
  11.     (1, 'Pai'),
  12.     (2, 'Mãe'),
  13.     (3, 'Casado(a)'),
  14.     (4, 'Viúvo(a)'),
  15.     (5, 'Parente'),
  16. )
  17.  
  18. ESTADOS_CIVIS = (
  19.  
  20.     ('Solteiro(a)', 'Solteiro(a)'),
  21.     ('Casado(a)', 'Casado(a)'),
  22.     ('Viúvo(a)', 'Viúvo(a)'),
  23.     ('Divorciado(a)', 'Divorciado(a)'),
  24.  
  25.     )
  26.  
  27. class Ccir(models.Model):
  28.  
  29.     cod_ccir = models.AutoField(primary_key=True)
  30.     codigo_imovel_rural = models.CharField(max_length=150, blank=True, null=True)
  31.     area_total_hec = models.CharField(max_length=150, blank=True, null=True)
  32.     nun_modulos_rurais = models.CharField(max_length=150, blank=True, null=True)
  33.     modulo_fiscal_hec = models.CharField(max_length=150, blank=True, null=True)
  34.     num_modulo_fiscais = models.CharField(max_length=150, blank=True, null=True)
  35.     fmp_hec = models.CharField(max_length=150, blank=True, null=True)
  36.     valor_cobrado = models.CharField(max_length=150, blank=True, null=True)
  37.     valor_total = models.CharField(max_length=150, blank=True, null=True)
  38.     documento = models.CharField(max_length=150, blank=True, null=True)
  39.     declarante = models.CharField(max_length=150, blank=True, null=True)
  40.     status = models.CharField(max_length=150, blank=True, null=True)
  41.     created_user = models.CharField(max_length=765, blank=True, null=True)
  42.     created_date = models.DateTimeField(blank=True, null=True)
  43.     last_edited_user = models.CharField(max_length=765, blank=True, null=True)
  44.     last_edited_date = models.DateTimeField(blank=True, null=True)
  45.  
  46.     documentos = models.ManyToManyField(
  47.         'Doc',
  48.         through = 'Ccir_Doc'
  49.         )
  50.  
  51.     pessoas = models.ManyToManyField(
  52.         'Pessoa',
  53.         through = 'Ccir_Pessoa'
  54.         )
  55.  
  56. class Ccir_Doc(models.Model):
  57.     cod_ccir = models.ForeignKey('Ccir', on_delete=models.CASCADE)
  58.     cod_doc = models.ForeignKey('Doc', on_delete=models.CASCADE)
  59.  
  60. class Ccir_Pessoa(models.Model):
  61.     cod_ccir = models.ForeignKey('Ccir', on_delete=models.CASCADE)
  62.     cod_pessoa = models.ForeignKey('Pessoa', on_delete=models.CASCADE)
  63.        
  64. class Pessoa(models.Model):
  65.     cod_pessoa = models.AutoField(primary_key=True, verbose_name="Cód. Pessoa")
  66.     nome = models.CharField(max_length=150, blank=True, null=True, verbose_name="Nome")
  67.     estado_civil = models.CharField(choices = ESTADOS_CIVIS, default = 'Solteiro(a)', max_length = 255, verbose_name="Estado Civil")
  68.     endereço = models.CharField(max_length=150, blank=True, null=True, verbose_name="Endereço")
  69.     telefone = models.CharField(max_length=150, blank=True, null=True, verbose_name="Telefone")
  70.     email = models.CharField(max_length=150, blank=True, null=True, verbose_name="Email")
  71.     rg = models.CharField(max_length=150, blank=True, null=True, verbose_name="RG")
  72.     created_user = models.CharField(max_length=765, blank=True, null=True)
  73.     created_date = models.DateTimeField(blank=True, null=True)
  74.     last_edited_user = models.CharField(max_length=765, blank=True, null=True)
  75.     last_edited_date = models.DateTimeField(blank=True, null=True)
  76.  
  77.     relacoes = models.ManyToManyField(
  78.         'self',
  79.         through = 'Pessoa_Pessoa', #This lets you define the model that will act as an intermadiary
  80.         symmetrical = False, #This needs to be set with recursive relationships
  81.         )
  82.  
  83.     itrs = models.ManyToManyField(
  84.         'Itr',
  85.         through = 'Pessoa_Itr',
  86.         )
  87.  
  88. class Pessoa_Pessoa(models.Model):
  89.     cod_pessoa_1 = models.ForeignKey('Pessoa', on_delete=models.CASCADE,
  90.         related_name='%(class)s_cod_pessoa_1', verbose_name="Pessoa 1")
  91.     cod_pessoa_2 = models.ForeignKey('Pessoa', on_delete=models.CASCADE,
  92.         related_name='%(class)s_cod_pessoa_2', verbose_name="Pessoa 2")
  93.     relacao = models.IntegerField(choices = RELACAO_PESSOA_PESSOA, default = 5, verbose_name="Relação")
  94.  
  95. class Pessoa_Itr(models.Model):
  96.     cod_pessoa = models.ForeignKey('Pessoa', on_delete=models.CASCADE)
  97.     cod_itr = models.ForeignKey('Itr', on_delete=models.CASCADE)
  98.  
  99.     #class Meta:
  100.         #db_table = '"GEO"."django_pessoa_itr"'
  101.  
  102. class Itr(models.Model):
  103.     cod_itr = models.AutoField(primary_key=True)
  104.     nirf = models.CharField(max_length=150, blank=True, null=True)
  105.     nome_imovel = models.CharField(max_length=150, blank=True, null=True)
  106.     area_hec = models.CharField(max_length=150, blank=True, null=True)
  107.     emissao_cn = models.CharField(max_length=150, blank=True, null=True)
  108.     validade_cn = models.CharField(max_length=150, blank=True, null=True)
  109.     declarante = models.CharField(max_length=150, blank=True, null=True)
  110.     status = models.CharField(max_length=150, blank=True, null=True)
  111.     municipio = models.CharField(max_length=150, blank=True, null=True)
  112.     uf = models.CharField(max_length=150, blank=True, null=True)
  113.     created_user = models.CharField(max_length=765, blank=True, null=True)
  114.     created_date = models.DateTimeField(blank=True, null=True)
  115.     last_edited_user = models.CharField(max_length=765, blank=True, null=True)
  116.     last_edited_date = models.DateTimeField(blank=True, null=True)
  117.  
  118. class Doc(models.Model):
  119.     cod_doc = models.AutoField(primary_key=True)
  120.     tipo = models.CharField(max_length=150, blank=True, null=True)
  121.     num_documento = models.CharField(max_length=150, blank=True, null=True)
  122.     registro_averbacao = models.CharField(max_length=150, blank=True, null=True)
  123.     registro_anterior = models.CharField(max_length=150, blank=True, null=True)
  124.     area_doc = models.CharField(max_length=150, blank=True, null=True)
  125.     comarca = models.CharField(max_length=150, blank=True, null=True)
  126.     municipio = models.CharField(max_length=150, blank=True, null=True)
  127.     uf = models.CharField(max_length=150, blank=True, null=True)
  128.     tipo_imovel = models.CharField(max_length=150, blank=True, null=True)
  129.     contrato_eol = models.CharField(max_length=150, blank=True, null=True)
  130.     created_user = models.CharField(max_length=765, blank=True, null=True)
  131.     created_date = models.DateTimeField(blank=True, null=True)
  132.     last_edited_user = models.CharField(max_length=765, blank=True, null=True)
  133.     last_edited_date = models.DateTimeField(blank=True, null=True)
  134.     status = models.CharField(max_length=150, blank=True, null=True)
  135.  
  136.     pessoas = models.ManyToManyField(
  137.         'Pessoa',  
  138.         through = 'Doc_Pessoa',
  139.         )
  140.  
  141. class Doc_Pessoa(models.Model):
  142.     cod_doc = models.ForeignKey('Doc', on_delete=models.CASCADE)
  143.     cod_pessoa = models.ForeignKey('Pessoa', on_delete=models.CASCADE)
  144.     percentual_area = models.IntegerField()
  145.     rid = models.IntegerField()
  146.     valor_area = models.IntegerField()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement