admin.py 720 Bytes
from django.contrib import admin
from django.core.exceptions import ValidationError
from django.utils import timezone

from .models import Edicto, Precio

# Register your models here.


class PrecioAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        today = timezone.now().date()
        precios_activos = Precio.objects.filter(vigencia_hasta__gte=today)
        if not change:
            if obj.vigencia_desde <= today and not precios_activos.exists():
                obj.save()
            else:
                raise ValidationError("La fecha de inicio no es válida.")
        else:
            obj.save()


admin.site.register(Precio, PrecioAdmin)


admin.site.register(Edicto)