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)