Enzo Yair

validacion para la creacion de precio admin

from django.contrib import admin
from django.contrib import admin, messages
from .models import Edicto, Precio
# Register your models here.
... ... @@ -6,20 +7,22 @@ from .models import Edicto, Precio
class PrecioAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
if change:
super().save_model(request, obj, form, change)
else:
precios_con_vigencia = Precio.objects.exclude(vigencia_hasta=None).count()
precios_con_vigencia = Precio.objects.filter(vigencia_hasta__isnull=True)
if precios_con_vigencia > 0 and obj.vigencia_hasta is None:
form.add_error('vigencia_hasta',
'Debe proporcionar una fecha para vigencia_hasta antes de crear un nuevo objeto Precio.')
if precios_con_vigencia:
messages.error(request, 'Error al agregar: Ya existe un objeto Precio sin vigencia_hasta. '
'Debe proporcionar una fecha para vigencia_hasta antes de crear un nuevo objeto Precio.')
else:
messages.success(request, 'El nuevo precio se agrego correctamente')
obj.usuario = request.user
super().save_model(request, obj, form, change)
admin.site.register(Precio, PrecioAdmin)
admin.site.register(Edicto)
\ No newline at end of file
admin.site.register(Edicto)
... ...