这是我的模特:
class Location(models.Model):
location_id = models.AutoField(primary_key=True)
location = models.CharField(max_length=30, blank=False, null=False)
class Host(models.Model):
host_id = models.AutoField(primary_key=True)
location = models.ForeignKey('Location', on_delete=models.PROTECT)
host = models.CharField(max_length=30, blank=False, null=False)
class Device(models.Model):
device_id = models.AutoField(primary_key=True)
host = models.ForeignKey('Host', on_delete=models.PROTECT)
model = models.ForeignKey('Model', on_delete=models.PROTECT)
ip = models.GenericIPAddressField(null=True)
name = models.CharField(max_length=30, blank=False, null=False)
Run Code Online (Sandbox Code Playgroud)
这是DeviceAdmin班级:
class DeviceAdmin(admin.ModelAdmin):
list_display=('host','name','model', 'ip')
list_filter=(
('model', admin.RelatedOnlyFieldListFilter),
('host', admin.RelatedOnlyFieldListFilter),
)
admin.site.register(Device, DeviceAdmin)
Run Code Online (Sandbox Code Playgroud)
我需要在Device Admin页面上看到Location lookup字段.然而,Location对有关Device过度Host.
如何Location通过"设备管理"页面上的"位置 - >主机" 显示字段来过滤设备类?