从实例中获取模型名称
Get model name from instance
如何从模型实例中获取模型名称作为 "string"。
我知道你可以做 type(model_instance)
但这是将 class 本身作为对象 <Model_Name: >
而不是字符串返回。
通过定义str或unicode方法?
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
如何从模型实例中获取模型名称作为 "string"。
我知道你可以做 type(model_instance)
但这是将 class 本身作为对象 <Model_Name: >
而不是字符串返回。
通过定义str或unicode方法?
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