Как ограничить количество вариантов ManyToManyField определенным количеством вариантов

Вы не могли итерировать или хранить больше данных, чем длина вашего массива. В этом случае вы можете сделать так:

for (int i = 0; i <= name.length - 1; i++) {
    // ....
}

Или это:

for (int i = 0; i < name.length; i++) {
    // ...
}
0
задан Ambitions 28 June 2019 в 06:28
поделиться

2 ответа

Если вы хотите ограничить его тремя конкретными ответами, я думаю, вы можете использовать limit_choices_to

Если вы хотите ограничить его максимум 3, тогда вам следует использовать Валидация модели Джанго

0
ответ дан Geoff Walmsley 28 June 2019 в 06:28
поделиться

Спасибо за ответ Джеффа Уолмсли , который вдохновил меня на правильный ответ.

Это решение:

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
0
ответ дан Ambitions 28 June 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: