我在django admin中使用了一个交叉/直通表作为内联。内联具有作为下拉菜单列出的其他模型的外键。我只能通过设置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,)
...