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']