#python #django #forms #model
Вопрос:
Я работаю над школьным проектом, в котором есть мероприятия с разным количеством людей, которых они могут иметь plaatsen_beschikbaar
. Кроме того, студенты могут подать заявку только на одно занятие beperk_aanmelden
.
models.py
class Activiteit(models.Model):
titel = models.CharField(max_length=64)
docent = models.CharField(max_length=32)
icon = models.ImageField()
uitleg = models.TextField()
plaatsen_beschikbaar = models.IntegerField()
def beperk_aanmelden(value):
if Aanmelden.objects.filter(studentnummer=value).count() >= 1:
raise ValidationError('Student heeft al de maximale aanmeldingen')
else:
return value
class Aanmelden(models.Model):
naam = models.CharField(max_length=32)
studentnummer = models.IntegerField(validators=[beperk_aanmelden,])
klas = models.ForeignKey(Klas, on_delete=models.CASCADE, default=None, blank=True)
activiteit = ForeignKey(Activiteit, on_delete=models.CASCADE, default=None, blank=True)
Aanmelden
является моделью для применения к деятельности.
views.py
def home(request):
activiteiten = Activiteit.objects.all()
form = AanmeldenForm()
if request.method == 'POST':
form = AanmeldenForm(request.POST)
if form.is_valid():
form.save()
Aanmelden.objects.get()
return render(request, 'home.html', {
'activiteiten': activiteiten,
'form':form,
})
Мне нужно выполнить функцию, которая сбрасывает со счетов доступные места в действии, и когда она достигает 0, она больше не позволяет выполнять это действие. Это буквально последняя функция из моего бэкенда, которую я должен выполнить, чтобы закончить это, и это должно быть сделано к понедельнику, так как я могу это сделать?