如何在ContentType的字符串中获取类名?我试过这种方式,但没有成功:
class StreamItem(models.Model):
user = models.ForeignKey(User)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
pub_date = models.DateTimeField(default=datetime.now)
content_object = generic.GenericForeignKey('content_type', 'object_id')
content_class = content_type.__name__
def __unicode__(self):
return self.content_class
任何帮助将不胜感激!谢谢。
答案 0 :(得分:2)
更新:在询问模型名称的问题后,通过属性model
访问它的方式,您可以通过以下方式在运行时访问它: / p>
<STREAMING_ITEM_INSTANCE>.content_type.model
我测试了它:
from testso_app.models import StreamItem
from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
a = User.objects.all()[0]
cctt = ContentType.objects.all()
si = StreamItem(user=a, content_type=cctt[0], object_id=1)
si.content_type.model
并得到:u'author'