我希望能够在模型中定义一个属性,该属性也可以使用“list_display”管理属性中的 admin_order_field 显示和排序。下面是我想要定义的属性的代码(并且可以在 django 管理界面中排序)
@property
def restaurant_name(self):
return str(self.restaurant)
restaurant_name.admin_order_field = 'restaurant__name'
但是,我收到以下错误消息:
AttributeError: 'property' object has no attribute 'admin_order_field'
当我摆脱 @property 装饰器时,它工作正常,但是我必须在模型实例上调用 restaurant_name(),而不是 restaurant_name,它在我访问模型的不同属性时提供了不一致的样式(实际上定义为Python 属性)。如何在管理员中将 Python 属性指定为可排序?