Я использую приведенную ниже модель, в которой таблица пользователей django по умолчанию имеет отношение "многие ко многим" с гостиницей.
Присвоение нескольких пользователей отелю в административной панели django затруднено, и я хочу заменить метод «ctrl-click» по умолчанию на флажок, где я могу выбрать нескольких пользователей без необходимости удерживать нажатой клавишу Ctrl.
Модель:
from django.db import models
from django.contrib.auth.models import User
class Hotel(models.Model):
# associate the user
user = models.ManyToManyField(User)
# additional fields
hotel_name = models.CharField(max_length=100)
hotel_id = models.CharField(max_length=100)
def __str__(self):
return self.hotel_id
admin.py
from django.contrib import admin
from .models import *
from django.forms import CheckboxSelectMultiple
# Checkbox for many-to-many fields
class HotelAdmin(admin.ModelAdmin):
formfield_overrides = {
models.ManyToManyField: {'widget': CheckboxSelectMultiple},
}
admin.site.register(Hotel)
Результат:
Formfield_override не работает, и выбор пользователей для отеля не является флажком
![enter image description here](https://i.stack.imgur.com/WrKq2.png)