如何获取模型中应用程序的名称?

2024-09-30 22:26:43 发布

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

我正在尝试编写模型mixin,这将给我直接链接到管理编辑表单:

class EditLinkMixin(models.Model):
    def get_admin_link(self):
        return '/admin/%s/%s/%d/' % (app_name, self.__class__.__name__, self.pk)

    class Meta:
        abstract = True

这将有助于内容管理员通过一次单击编辑某些文章(如果他有权限)。 问题是:我怎样才能得到app\u name?另外,我可以用某种方式得到一个主应用程序的名称,它有模块吗设置.py是项目的切入点吗?它将有助于从一些可重用的应用程序直接访问子类declare。。。在

谢谢你的建议!在


Tags: name模型selfapp应用程序编辑表单model
1条回答
网友
1楼 · 发布于 2024-09-30 22:26:43

您应该使用^{}

另外:如果您正在创建mixin,则不需要从models.Model扩展它并使其成为抽象的。您可以创建常规类:

class EditLinkMixin(object):
    def get_admin_link(self):
        return '/admin/%s/%s/%d/' % (self._meta.app_name, self.__class__.__name__, self.pk)

class MyModel(models.Model, EditLinkMixin):
    pass

相关问题 更多 >