我正在研究一些Django应用程序,我遇到了一个我不知道如何解决的问题。
我必须建模:
class A(models.Model):
STATE_NEW = 1
STATE_DELIVERED = 2
STATE_LOST = 3
STATE_CHOICES (
(STATE_NEW, 'New order'),
(STATE_DELIVERED, 'Delivered'),
(STATE_LOST, 'Lost'),
)
order_id = models.IntegerField()
status = models.IntegerField(u'Status', default=NEW_STATE, choices=STATE_CHOICES)
class B(models.Model):
# some_fields
order = models.ForeignKey(A)
我在模型B中有一些字段。我想要实现的是为模型B添加过滤器到管理站点,允许过滤“状态”(来自模型A的字段)。是否有可能在不在模型B中定义新字段的情况下实现它?
我没有想到任何事情,因为我不想在模型B中保留所有可能的STATE_CHOICES的“状态”字段(因为“状态”不是模型B的字段)。
你能帮帮我吗? :)答案 0 :(得分:3)
您可以使用list_filter
执行此操作list_filter = ('order__status', )
list_filter中的字段名称也可以使用__ lookup
来跨越关系