你好django用户,
如何在list_editable
admin属性中添加相关对象的字段?
# models.py
class Order(Model):
reference = CharField(max_length=25)
class Product(Model):
name = CharField(max_length=50)
order = ForeignKey(Order)
# admin.py
class ProductAdmin:
list_display = ('name', 'order_reference')
list_editable = ('name', 'order__reference') # <--- THIS !
def order_reference(self, obj):
return obj.order.reference
我试过这种方式,但它不起作用。我还尝试在Product
类中添加一个属性,但是不行,它也无法正常工作。任何线索?
感谢。
答案 0 :(得分:1)
list_editable特别与其他几个选项进行交互 方法;你应该注意以下规则:
- list_editable中的任何字段也必须位于list_display中。您无法编辑未显示的字段!
- 同一字段无法在list_editable和list_display_links中列出 - 字段不能同时包含表单和链接。
- 如果这些规则中的任何一个被破坏,您将收到验证错误。
醇>
请注意,您分别在 list_display 和 list_editable 中使用* order_reference *和* order__reference *。总之,我认为你不能轻易做到这一点。如果你想获得灵感,你可以查看pageadmin.py in django-cms的实现,但这并不简单!!