4
假设这是一个用户的照片的模型:困惑的ContentType
class Photo(models.Model):
user = models.ForeignKey(User)
title = models.CharField()
image = models.ImageField()
pub_date = models.DateTimeFied(auto_now=True, auto_now_add=pub_date)
update = models.DateTimeFied(auto_now=False, auto_now_add=True)
这是另一种模式的用户的状态:
class Status(models.Model):
user = models.ForeignKey(User)
tweet = models.TextFied()
pub_date = models.DateTimeFied(auto_now=True, auto_now_add=pub_date)
现在,这是一个所有的饲料模型用户:
class StreamItem(models.Model):
user = models.ForeignKey(User)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type','object_id')
在上述class StreamItem,请问
content_type
是实例的data_type?什么是
object_id
?它是content_type
实例的pk还是该StreamItem实例的pk?如何获得
content_type
实例(照片和状态)的pub_date
并将其初始化为StreamItem实例?最后,我该如何在模板中渲染它?因为我不知道它是文字还是图片。
谢谢。
对于基础知识,你最好阅读[CONTENTTYPES框架(https://docs.djangoproject.com/en/1.4/ref/contrib/contenttypes) – FallenAngel