models(fecha creacion + duracion de la instancia)-->DUDAS

108 views
Skip to first unread message

Iago Otero

unread,
May 3, 2021, 11:02:10 AM5/3/21
to djan...@googlegroups.com
Hola a todos..hace mucho que no trabajo con fechas y estoy un poco perdido...eso y entre k soy autodidacta en Django...pues como k a veces no doy solucionado.

mi models.py  es algo asi y no se como en el create autogenerar la fecha de cierre(se supone que he avisar 3 dias antes de la fecha de cierre por email): lo de autogenerar la fecha de cierre ya me doy cuenta que habria de implementarlo en el CREATEVIEW...pero como hariais vosotros para comprobar que de todas las instancias que tenga la BD si faltan 3 dias para la fecha de cierre mande un aviso?? un script con un CRON??..ush..la verdad no se..

¿he hecho bien la parte del timedelta en la funcion expiration?

MUCHAS GRACIAS..ojala que alguien me explique

class Proyecto(models.Model):
.
.
.
d_anun={'1 mes':'1 mes','2 meses':'2 meses','3 meses':'3 meses'}
dur_anuncio=models.CharField('Duración de anuncio',choices=d_anun.items(),max_length=100)
fecha_cre=models.DateField('Fecha creación del anuncio',auto_now=True)
fecha_cierre=models.DateField('Fecha cierre')

def expiration(self):
if self.dur_anuncio == '1 mes':
self.fecha_cierre=self.fecha_cre + datetime.timedelta(days=30)
elif self.dur_anuncio == '2 meses':
self.fecha_cierre=self.fecha_cre + datetime.timedelta(days=60)
elif self.dur_anuncio == '3 meses':
self.fecha_cierre = self.fecha_cre + datetime.timedelta(days=90)
return self.save
mi view:

class CREATEPROYECTO(CreateView):
template_name = 'createproof.html'
model=Proyecto
form_class = ProOF_FORM
success_url = '../UL/options'
login_required = True

def form_valid(self, form):
# obtienes el usuario logueado
user = self.request.user
# cargas el perfil utilizando el usuario según sea tu modelo
form.instance.pertenece_a = user
        ####AQUI deberia llamar al metodo que he implementado en el model..
        ###asi k lo mas seguro esk deberia implementarlo aki

return super().form_valid(form)
mi forms.py
class ProOF_FORM(forms.ModelForm):


class Meta:
model=Proyecto
exclude = ['pertenece_a','fecha_cre','fecha_cierre']

carlos

unread,
May 3, 2021, 7:25:31 PM5/3/21
to djan...@googlegroups.com
Hola, ya probastes este paquete https://github.com/tivix/django-cron
te puede servir para ejecutar tus script

saludos

--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a django-es+...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/django-es/CAJ_xkVLyRaXYJ5rXRquqZQqjeMCiG8ivTMfYC4R1yTJivOYfWA%40mail.gmail.com.


--
att.
Carlos Rocha
Reply all
Reply to author
Forward
0 new messages