在 Django 的父管理视图中将子对象链接到父对象

Posted

技术标签:

【中文标题】在 Django 的父管理视图中将子对象链接到父对象【英文标题】:Link child objects to parent objects in parent's admin view in Django 【发布时间】:2014-01-08 20:28:11 【问题描述】:

我有两个课程:传感器和公寓。传感器类具有公寓的外键,因此您可以将传感器分配给公寓。一切都很好,但我找不到简单的方法将现有传感器分配给公寓视图中的公寓。我为传感器创建了简单的内联编辑器,允许创建新传感器,但我应该如何添加选项以将现有传感器与其他公寓链接,例如在同一视图中?

class SensorInline(admin.TabularInline):
    model = Sensor
    extra = 1

class ApartmentAdmin(admin.ModelAdmin):
    inlines = [SensorInline]

admin.site.register(Apartment, ApartmentAdmin)

【问题讨论】:

【参考方案1】:

也许更容易创建一个传感器管理员,然后这样做。

Class SensorAdmin(admin.modelAdmin):
    model=Sensor 

admin.site.register(Sensor, SensorAdmin)

这应该会为您提供一个页面,其中包含管理员中的传感器列表。单击一个,您应该有一个该传感器的编辑页面。如果您在模型文件中正确设置了外键,您应该可以从下拉列表中选择公寓。

(您当前的设置应该也可以,但使用起来可能不太直观)。

【讨论】:

以上是关于在 Django 的父管理视图中将子对象链接到父对象的主要内容,如果未能解决你的问题,请参考以下文章

如何将子 ViewController 的视图添加到父 View 控制器的子视图中?

在 OSX 中将子视图拖到超级视图之外

在 C++ 中将派生类类型的向量链接到父类类型的向量

路由到父路由时销毁所有子组件

将子对象复制到父类型指针中

子视图组件将道具传递给Vue中的父布局