models.py:
class Post(models.Model):
msg=models.TextField("Shout it out!:")
college=models.ForeignKey('College')
time=models.DateTimeField(auto_now_add=True)
class Feed(models.Model):
gender = models.CharField(max_length=5, choices=GENDER_CHOICES, default='girl')
location=models.CharField(max_length=25, choices=LOCATION_CHOICES)
msg = models.TextField("Message")
email = models.EmailField("Email:",blank=True, null = True)
college=models.ForeignKey('College')
time=models.DateTimeField(auto_now_add=True)
在模板中,我希望在根据时间过滤的流中同时显示Feed和帖子。我该怎么做?我们如何按时间过滤两个模型对象?可能吗?需要帮忙。感谢。
答案 0 :(得分:1)
您可以考虑创建包含公共字段的基类。然后,您可以执行类似于BaseFeed.objects.all()。order_by('time')的查询并在模板中迭代它,但您可以将每个结果项视为它实际的类型。
class BaseFeed(models.Model):
....
msg = models.TextField("Message")
college=models.ForeignKey('College')
time=models.DateTimeField(auto_now_add=True)
....
以下是我在做类似事情时总是提到的一些片段。
http://www.djangosnippets.org/snippets/1034/
http://www.djangosnippets.org/snippets/1031/
http://adam.gomaa.us/blog/2009/feb/16/subclassing-django-querysets/