Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Produto(models.Model):
- categoria = models.ForeingKey(Categorias)
- nome = models.CharField(max_length=200)
- class Atividade(models.Model):
- nome = models.CharField(max_length=200)
- class Orcamento(models.Model):
- atividade = models.ForeignKey(Atividade)
- data = models.DateField()
- fornecedor = models.ForeignKey(Fornecedor)
- produtos = models.ManyToManyField(Produto,through="ProdutosOrcamento")
- class ProdutosOrcamento(models.Model):
- '''
- Classe que relaciona o produto com o orçamento
- '''
- produto = models.ForeignKey(Produto)
- orcamento = models.ForeignKey(Orcamento)
- quantidade = models.IntegerField(default = 1)
- descricao = models.TextField(verbose_name = "descrição",help_text="Descrição do produto",null=True,blank=True)
- unidade = models.ForeignKey(UnidadesMedida,blank=True,null=True)
- valor = models.DecimalField(max_digits=24, decimal_places=2,blank=True,null=True,help_text="Valor unitário do produto")
- licitacao = models.BooleanField("licitação",default = False)
- usuario_criacao=models.ForeignKey(User,related_name='%(app_label)s_%(class)s_related',blank=True,null=True)
- usuario_edicao=models.ForeignKey(User,null=True,related_name='editor%(app_label)s_%(class)s_related',blank=True)
- @property
- def valor_total(self):
- quantidade = self.quantidade if isinstance(self.quantidade,(int,float,Decimal)) else 0
- valor = self.valor if isinstance(self.valor,(int,float,Decimal)) else 0
- return Decimal(quantidade * valor)
- class Meta:
- ordering=('licitacao','natureza_despesa','categoria_despesa')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement