我想在一个页面上显示所有可用的Feed,但我不想对每个Feed进行硬编码。像发送Feed的查询集这样的东西是完美的,比如:
{%for feed in feeds%} {{feed.link}} {{feed.name}} {{feed.description}} {%endfor%}
据我所知,Django Syndication Framework中的Feeds是作为从类(feed)继承的单个类创建的。这意味着我无法为所有Feed创建查询集,仅针对单个Feed。
如果Feed是一个不同的类,我如何发送Feed的查询集?这只能通过从使用通用外键关系引用每个feed的类中创建查询集来实现吗?或者我可以实际发送父[feed]类的查询集吗?
奖金问题:是否有一种简单的方法来汇总所有个别Feed中的“完整Feed”?
非常感谢!
答案 0 :(得分:1)
如果您可以提前枚举Feed,则可以创建Feed列表并将其放入模板中...
feeds = [feed_a,feed_b,...]
feeds.append(feed_c)
...
我已经尝试了以下方法并且无法正常工作,实际上可以使用,因为“related_name”只创建了一个访问者函数,并且不会影响数据库表。
#this code does not work in Django v1
class FeedCollection(models.Model):
subject = models.CharField(max_length=256)
class BloggerFeed(models.Model):
collection = models.ForeignKey(FeedCollection,related_name='feed')
class CNNFeed(models.Model):
collection = models.ForeignKey(FeedCollection,related_name='feed')
Django抱怨两个Feed表的访问者函数FeedCollection.feed_set
发生冲突。