【发布时间】:2021-12-25 10:25:46
【问题描述】:
所以我想做的是设置具有相同值的表单的限制。学生可以申请与外国模式不同的活动。 我有姓名(naam)、学号(studentnummer)、活动(activiteit)和班级(klas),我想设置一个限制为 10 个具有相同活动的表格(最多可以做相同活动的人)和一个学生人数限制为 1(因此学生只能申请一项活动)。
models.py
class Klas(models.Model):
klas = models.CharField(max_length=8)
def __str__(self):
return f"{self.klas}"
class Activiteit(models.Model):
titel = CharField(max_length=64)
docent = CharField(max_length=32)
icon = models.ImageField()
uitleg = models.TextField()
def __str__(self):
return f"{self.id}:{self.titel}:{self.docent}"
class Aanmelden(models.Model):
naam = CharField(max_length=32)
studentnummer = IntegerField()
klas = ForeignKey(Klas, on_delete=models.CASCADE, default=None, blank=True)
activiteit = ForeignKey(Activiteit, on_delete=models.CASCADE, default=None, blank=True)
def __str__(self):
return f"{self.id}:{self.naam}:{self.studentnummer}"
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()
return render(request, 'home.html', {
'activiteiten': activiteiten,
'form':form,
})
forms.py
class AanmeldenForm(forms.ModelForm):
class Meta:
model = Aanmelden
fields = (
'naam','studentnummer','klas','activiteit'
)
如果你知道如何解决这个问题或者对做这种系统有更好的想法,请告诉我。 提前致谢!
【问题讨论】: