У меня есть таблица пересечения / прохода, используемая в качестве встроенного в администраторе django. Встроенный имеет внешний ключ для другой модели, указанный в раскрывающемся меню. Я могу сделать поле доступным только для чтения, установив переменную readonly_fields, но хочу разрешить добавление новых объектов внешнего ключа путем добавления. Поэтому, используя приведенный ниже пример, я хотел бы иметь возможность добавлять строки Building_Room через встроенные функции, просто не иметь возможности выбирать какие-либо существующие клавиши Room, не нажимая «+» и не добавляя новую с помощью всплывающего окна администрирования Room. Должен ли я сделать это с помощью пользовательских шаблонов? Большое спасибо.
models.py
class Building(models.Model):
rooms = models.ManyToManyField('Room', null=True, through="Building_Room")
...
class Room(models.Model):
...
class Building_Room(models.Model):
building = models.ForeignKey(Building)
room = models.ForeignKey(Room)
admin.py
class Building_Room_Inline(admin.TabularInline):
model = Building_Room
readonly_fields = ('building',)
...
class Building_Admin(admin.ModelAdmin):
inlines = (Building_Room_Inline,)
...