2

利用可能なすべてのフィードを 1 ページに表示したいのですが、各フィードをハードコーディングしたくありません。次のように、フィードのクエリセットを送信するようなものが最適です。

{% for feeds in feeds %} {{ 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」はアクセサー関数を作成するだけで、DB テーブルには影響しないため、実際には機能する可能性があります。

#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')

DjangoFeedCollection.feed_setは、2 つのフィード テーブルのアクセサ関数が競合していると不満を漏らしています。

于 2009-07-11T23:23:28.203 に答える