У меня есть модели, подобные следующим:
class Band(models.Model):
name = models.CharField(unique=True)
class Event(models.Model):
name = models.CharField(max_length=50, unique=True)
bands = models.ManyToManyField(Band)
и, по сути, я хочу использовать возможность проверки, предлагаемую ModelForm, которая уже существует для Event, но я не хочу показать список Multi-Select по умолчанию (для 'band') на странице , потому что потенциальная длина связанных моделей чрезвычайно велика.
У меня определена следующая форма:
class AddEventForm(ModelForm):
class Meta:
model = Event
fields = ('name', )
Что делает то, что ожидается для Модели, но, конечно, валидация может меньше заботиться о поле 'band'. У меня достаточно работы, чтобы правильно добавлять группы, но правильной проверки нет, и он просто сбрасывает неверные идентификаторы.
Что я должен сделать, чтобы убедиться, что по крайней мере один (правильный) идентификатор группы был отправлен вместе с моей формой?
Сведения о том, как я отправляю идентификаторы диапазонов с автозаполнением, см. В следующем смежном вопросе: Django ModelForm Проверка пользовательского автозаполнения для M2M вместо уродливого Multi-Select