Django - поле «многие ко многим» в раскрывающемся списке формы - PullRequest
3 голосов
/ 17 августа 2010

У меня есть модель отношений «многие ко многим», которая фактически отображается в виде списка с множественным выбором в формах.В одном конкретном месте я хочу показать это как выпадающий одиночный выбор - есть идеи, как это сделать?

1 Ответ

1 голос
/ 17 августа 2010

См. Документацию по переопределению типов полей по умолчанию или виджетов .

Если у вас есть модель Book с отношением ManyToMany к Author, например:

class Author(models.Model):
    name = models.CharField(max_length=100)
    title = models.CharField(max_length=3, choices=TITLE_CHOICES)

    def __unicode__(self):
        return self.name

class Book(models.Model):
    name = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)

тогда вы можете сделать что-то вроде этого:

from django.forms import ModelForm, Select

class AuthorForm(ModelForm):
    class Meta:
        model = Author
        widgets = {
            'name': Select(),
        }

NB. Этот код не проверен, но, надеюсь, будет достаточным, чтобы помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...