Вы не могли итерировать или хранить больше данных, чем длина вашего массива. В этом случае вы можете сделать так:
for (int i = 0; i <= name.length - 1; i++) {
// ....
}
Или это:
for (int i = 0; i < name.length; i++) {
// ...
}
Если вы хотите ограничить его тремя конкретными ответами, я думаю, вы можете использовать limit_choices_to
Если вы хотите ограничить его максимум 3, тогда вам следует использовать Валидация модели Джанго
Спасибо за ответ Джеффа Уолмсли , который вдохновил меня на правильный ответ.
Это решение:
admin.py :
from django.contrib import admin
from django.core.exceptions import ValidationError
from .models import Question
from django import forms
class QuestionForm(forms.ModelForm):
model = Question
def clean(self):
cleaned_data = super().clean()
if cleaned_data.get('other_answers').count() != 3:
raise ValidationError('You have to choose exactly 3 answers for the field Other Answers!')
@admin.register(Question)
class QuestionAdmin(admin.ModelAdmin):
form = QuestionForm