2

我想在一页上显示所有可用的提要,但我不想对每个提要进行硬编码。像发送一个查询集的提要这样的东西是完美的,比如:

{% for feed in feed %} {{ feed.link }} {{ feed.name }} {{ feed.description }} {% endfor %}

据我了解,Django Syndication Framework 中的提要是作为从类(提要)继承的单个类创建的。这意味着我不能为所有提要创建查询集,只能为单个提要创建查询集。

如果它们都是不同的类,我如何发送一个查询集的提要?这是否只能通过从使用通用外键关系引用每个提要的类中制作查询​​集来实现?或者我可以实际发送父 [feed] 类的查询集吗?

额外的问题:是否有一种简单的方法可以从所有单独的提要中聚合“完整提要”?

非常感谢!

4

1 回答 1

1

如果您可以提前枚举提要,则可以创建提要列表并将其放入模板中...

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 抱怨FeedCollection.feed_set两个提要表的访问器函数发生冲突。

于 2009-07-11T23:23:28.203 回答