【发布时间】:2014-03-05 10:30:53
【问题描述】:
假设这是用户照片的模型:
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')
在上面的类StreamItem中,
content_type会是实例的data_type吗?什么是
object_id?是content_type实例的 pk 还是该 StreamItem 实例的 pk?如何获取
content_type实例(照片和状态)的pub_date并将其初始化为StreamItem 实例?最后,如何在模板中渲染它?因为不知道是文字还是图片。
谢谢。
【问题讨论】:
-
对于基础知识,您最好阅读contenttypes framework
标签: django django-templates django-contenttypes