在Django管理中显示相关模型的可调用属性

2021-05-13 14:42:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下一个型号:

class BaseModel(models.Model):
    def admin_link(self):
        url = reverse(
            'admin:%s_%s_change' % (self._meta.app_label, self._meta.model_name), args=(self.pk, )
        )

        return '<a href="{url}">{name}</a>'.format(
            url=url, id=str(self)
        )
    admin_link.allow_tags = True
    admin_link.short_description = _('Admin Link')

 class Account(BaseModel):
     pass

 class Order(BaseModel):
     account = models.ForeignKey(
         'base.Account', on_delete=models.DO_NOTHING, related_name='orders',
         verbose_name=_('Account'), null=False
     )

我为Order模型创建了管理模型:

^{pr2}$

当我转到订单更改页面时,我收到错误:

FieldError at /admin/base/order/1475d5d6-135f-454e-bec4-a801183dfc5f/change/ Unknown field(s) (account__admin_link) specified for Order. Check fields/fieldsets/exclude attributes of class OrderAdmin.

我不想在不同的管理模型中编写许多相同的函数(我与帐户模型有许多关系)。在

我可以使用一个函数但在字段和字段集中显示它吗?在