views.py
def update_routine(request, id_routine):
if not request.user.es_trainer:
messages.error(request, „Sie verfügen nicht über die Berechtigung, auf diese Seite zuzugreifen“)
Return Redirect('show_routine')
Code: Select all
if request.method == 'GET':
rutina = get_object_or_404(Rutina, id=id_rutina)
rutinaform = RutinaForm(instance=rutina)
contexto = {
"rutinaform": rutinaform,
}
return render(request, 'core/crear_rutina.html', contexto)
else:
return HttpResponse('no se pudo actualizar')
Code: Select all
DIAS_SEMANA = [
('LUN', 'Lunes'),
('MAR', 'Martes'),
('MIE', 'Miércoles'),
('JUE', 'Jueves'),
('VIE', 'Viernes'),
('SAB', 'Sábado'),
('DOM', 'Domingo'),
]
class Rutina(models.Model):
nombre = models.CharField(blank=False)
dias_entrenamiento = models.CharField(blank=True)
dias_descanso=models.CharField(blank=True)
duracion_rutina = models.DurationField(default=datetime.timedelta(days=30), blank=True)
def __str__(self):
return self.nombre
Code: Select all
class RutinaForm(forms.ModelForm):
class Meta:
model = Rutina
exclude = ('dias_descanso',)
dias_entrenamiento = forms.MultipleChoiceField(
choices=DIAS_SEMANA,
widget=forms.CheckboxSelectMultiple(),
required=False
)
Ich möchte, dass nur die Kontrollkästchen aktiviert werden, die mit der Instanz instanziiert werden sollen, die der Benutzer sendet.