Python Django模型,可编辑=False,并在Admin中过滤该字段

Python Django模型,可编辑=False,并在Admin中过滤该字段,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,我有这个模型: class Values(models.Model): ip_given = models.CharField(max_length=250, null=True, blank=True) ip_discovered = models.CharField(max_length=250, null=True, blank=True, editable=False) time = models.DateTimeField() poi = models.

我有这个模型:

class Values(models.Model):
    ip_given = models.CharField(max_length=250, null=True, blank=True)
    ip_discovered = models.CharField(max_length=250, null=True, blank=True, editable=False)
    time = models.DateTimeField()
    poi = models.ForeignKey(POI, editable=False)
    sensor = models.ForeignKey(Sensor, editable=False)
    value = models.FloatField()

    created_at = models.DateTimeField(auto_now_add=True)
poi和sensor字段可编辑=False,因为我在创建对象时自动设置了它们。另一方面,我有一个模型管理员:

class ValuesAdmin(admin.ModelAdmin):
    list_display = ('id', 'ip_given', 'ip_discovered', 'value', 'time', 'poi', 'sensor')
    list_display_links = ('id',)
    list_filter = ('poi', 'sensor', 'time', 'value')
问题是,我可以按时间和值进行过滤,但poi和传感器未显示在“过滤”部分中。我认为这是因为editable=False属性

有没有办法不删除editable=False属性就按该字段进行筛选?

试试类似的方法

list_filter = ('poi__id','sensor__id','time','value') 
您可以使用本手册页面中讨论的关系过滤器来跨越关系


您是否尝试过使用列表过滤器='poi\uuuuu id'、'sensor\uuuu id'、'time'、'value'作为关系过滤器,如本手册页面中所讨论的跨帐户关系@cmidi请问,你能把你的评论作为回应来标记它是有效的吗?谢谢你。您可以根据您的调查结果接受并编辑答案