django - Как использовать «выбрать несколько» вместо «выбрать» в отношении м2м - PullRequest
0 голосов
/ 10 января 2020

У меня есть отношения m2m между моими Influencer и Категория моделей. Моя цель состояла в том, чтобы легко отредактировать категорию влияющих на странице редактирования и на странице редактирования. По умолчанию я получил виджет множественного выбора на странице редактирования категории, чтобы иметь то же самое на странице редактирования влиятельного лица, которое я использовал в строках.

Теперь я могу редактировать категорию влияющих на странице редактирования, но у меня нет здесь нескольких виджетов, вместо этого у меня есть отдельные виджеты выбора. Я хотел бы добавить один выбор нескольких входов, как и страницу редактирования категории, чтобы редактировать вещи быстрее. Даже если это отношение m2m, я не могу понять, как django решает использовать множитель выбора на одной стороне отношения и множественный выбор на другой стороне.

admin.py:

class CategoryInline(admin.TabularInline):
    model = Category.influencers.through

class InfluencerAdmin(admin.ModelAdmin):
    # Some extra stuff here
    inlines = [
        CategoryInline,
    ]

class CategoryAdmin(admin.ModelAdmin):
    pass

admin.site.register(Influencer, InfluencerAdmin)
admin.site.register(Category, CategoryAdmin)
admin.site.register(InfluencerList)

models.py:

class Influencer(models.Model):
    # Some fields here

class Category(models.Model):
    name = models.CharField('Name:', max_length= 50, blank=False, null=False)
    influencers = models.ManyToManyField('Influencer', related_name='categories', blank=True)

    class Meta:
        verbose_name_plural = "categories"

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: I попробовал этот кусок кода, но это не сработало:

class InfluencerForm(ModelForm):
    class Meta:
        model = Influencer
        exclude = ('fullname',)
        widgets = {
            'categories': SelectMultiple()
        }
...