Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. from datetime import datetime
  2. from django.db import models
  3.  
  4. class Pessoa(models.Model):
  5. """Uma pessoa é uma tabela geral com os dados principais dos usuario,que poderam
  6. ser cliente(fisica ou juridica) ou admin, codigo de cadastro lhe identifica"""
  7. class Meta:
  8. abstract = True
  9. ordering = ['login']
  10.  
  11. login = models.CharField(max_length=20, default='', primary_key=True)
  12. nome = models.CharField(max_length=100)
  13. senha = models.CharField(max_length=20)
  14. email = models.CharField(max_length=100)
  15. sexo = models.CharField(max_length=2)
  16.  
  17. class Telefone(models.Model):
  18. """Uma pessoa pode ter N telefones"""
  19. class Meta:
  20. ordering = ['ddd','numero']
  21. unique_together = 'pessoa', 'ddd', 'numero'
  22.  
  23. pessoa = models.ForeignKey('Pessoa')
  24. ddd = models.CharField(max_length=3)
  25. numero = models.CharField(max_length=9)
  26.  
  27. class Endereco(models.Model):
  28. """Uma pessoa pode ter 1 endereco"""
  29. class Meta:
  30. ordering = ['pessoa']
  31.  
  32. pessoa = models.OneToOneField('Pessoa',primary_key=True)
  33. cep = models.CharField(max_length=8)
  34. rua = models.CharField(max_length=200)
  35. numero = models.IntegerField()
  36. bairro = models.CharField(max_length=50)
  37. complemento = models.CharField(max_length=200)
  38.  
  39.  
  40. class Cliente(Pessoa):
  41. class Meta:
  42. abstract = True
  43.  
  44. class Admin(Pessoa):
  45. pass
  46.  
  47. class Fisica(Cliente):
  48. cpf = models.CharField(max_length=11, primary_key=True)
  49.  
  50. class Juridica(Cliente):
  51. cnpj = models.CharField(max_length=14, primary_key=True)
  52.  
  53.  
  54. class Pedido(models.Model):
  55. """Uma pessoa pode fazer N pedidos"""
  56. class Meta:
  57. ordering = ['codigo_pedido','data_pedido']
  58. unique_together = 'pessoa', 'codigo_pedido'
  59.  
  60. pessoa = models.ForeignKey('Pessoa')
  61. codigo_pedido = models.AutoField()
  62. data_pedido = models.DateTimeField(default=datetime.now)
  63. data_entregua = models.DateTimeField()
  64. valor_total = models.FloatField()
  65. valor_pago = models.FloatField()
  66. cancelado = models.BooleanField()
  67. entregue = models.BooleanField()
  68. pago = models.BooleanField()
  69. observação = models.CharField(max_length=200)
  70.  
  71. class Produto(models.Model):
  72. """Um produto pode entar em n pedidos, e um pedido pode conter n produtos"""
  73. class Meta:
  74. ordering = ['codigo_pedido']
  75.  
  76. codigo_pedido = models.AutoField( primary_key=True)
  77. login = models.CharField(max_length=20)
  78. nome = models.CharField(max_length=50)
  79. preco = models.FloatField()
  80. disponivel = models.BooleanField()
  81. unidade = models.CharField(max_length=20)
  82.  
  83. class Pedido_Produto(models.Model):
  84. """NxN"""
  85. class Meta:
  86. ordering = cpedido','produto']
  87. unique_together = 'pedido', 'produto'
  88.  
  89. pedido = models.ForeignKey('Pedido')
  90. produto = models.ForeignKey('Produto')
  91. preco_total_produto = models.FloatField()
  92. preco_unidade_produto = models.FloatField()
  93. quantidade_produto = models.FloatField()
  94.  
  95. class Imagem(models.Model):
  96. """"""
  97. class Meta:
  98. ordering = ['titulo']
  99.  
  100. titulo = models.CharField(max_length=100)
  101. slug = models.SlugField(max_length=100, blank=True, unique=True)
  102. descricao = models.TextField(max_length=100,blank=True)
  103. original = models.ImageField(
  104. blank=True,
  105. upload_to='galeria/original',
  106. )
  107. thumbnail = models.ImageField(
  108. blank=True,
  109. upload_to='galeria/thumbnail',
  110. )
  111. publicacao = models.DateTimeField(default=datetime.now, blank=True)
  112.  
  113.  
  114. class ImagemPessoa(Imagem) :
  115. """"""
  116. pessoa = models.OneToOneField('Pessoa',primary_key=True)
  117.  
  118. class ImagemProduto(Imagem) :
  119. """"""
  120. produto = models.OneToOneField('Produto',primary_key=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement