contador.py
1.15 KB
from django.db.models import F
from organismo.models import Organismo
from .models import Edicto, ComprobantePago
def contador(edicto_id, nombre_id):
edicto = Edicto.objects.select_related('usuario').get(id=edicto_id)
organismo_object = Organismo.objects.get(id=nombre_id)
organismo = organismo_object.es_publico
sellos = edicto.cantidad_sellos
palabras = edicto.cantidad_palabras
copias = edicto.cantidad_copias
publicar = edicto.dias_publicar
precios = edicto.usuario.precio_set.all().values('precio', 'precio_ejemplar')
precios_ejemplar = precios.aggregate(
precio=F('precio'),
precio_ejemplar=F('precio_ejemplar'),
)
precio = precios_ejemplar['precio']
precio_copia = precios_ejemplar['precio_ejemplar']
result_palabra = (sellos + palabras) * precio
result_ejemplar = (copias * precio_copia) + (publicar * precio_copia)
if organismo is True:
resultado = result_ejemplar + result_palabra / 2
else:
resultado = result_ejemplar + result_palabra
precio_resultado = ComprobantePago(edicto=edicto, resultado=resultado)
precio_resultado.save()
return precio_resultado