从实例中获取模型名称

Get model name from instance

如何从模型实例中获取模型名称作为 "string"。 我知道你可以做 type(model_instance) 但这是将 class 本身作为对象 <Model_Name: > 而不是字符串返回。

通过定义strunicode方法?

from user.models import User
user = User.objects.create_user(tel='1234567890', password='YKH0000000')
print(user._meta.model)
<class 'user.models.User'>
print(user._meta.model.__name__)
User
print(user.__class__.__name__)
User

为了接近问题,type(instance).__name__ 是一个有效答案(即 this older question 中给出的答案)

因此使用@Ykh 示例:

from user.models import User
user = User.objects.create_user(tel='1234567890', password='YKH0000000')
print(type(user).__name__)
User