检索模型名称以进行审核

时间:2017-01-25 15:16:23

标签: django python-2.7

我正在建立一个审计应用程序 我需要检索模型名称。 问题是我不知道审计模型中的模型名称 有没有办法引用通用模型并获得该名称?

我已经建立了一个用户登录/退出模型,将信息保存在字符串中,我想做类似的事情。

@receiver(user_logged_out)
def LogoutWatch(request,*args,**kwargs):
    Log = AuditoriaLog()
    Log.fecha = datetime.datetime.now()
    Log.usuario = request.user.usuario
    Log.nombre_u = str(request.user.get_full_name())
    Log.cedula_u = str(request.user.usuario.cedula)
    Log.actividad = "Cierre de Sesion"
    Log.save()

如果我可以获得模型名称,则有一个django函数将模型存储在dict中,然后我可以连接post保存信号以获得我想要的内容。

1 个答案:

答案 0 :(得分:1)

使用type(object)方法可以获得对象类型类的引用。请参阅documentation

type类具有__name__属性,用于存储类名。

此外,django模型为同一提案提供了两个_meta属性:verbose_nameverbose_name_plural。请参阅documentation

所以,你可以使用其中任何一个:

print type(model).__name__
print type(model)._meta.verbose_name
print type(model)._meta.verbose_name_plural