0

私は2つのモデルを持っています。コメントと彼の「サブコメント」:

class Comment(models.Model):

    ....
    author = models.CharField(max_length=80)
    published = models.DateTimeField(auto_now_add=True)
    email = models.EmailField(blank=True)
    url = models.URLField(blank=True)
    post = models.ForeignKey(Entry)
    subcomments = models.ManyToManyField('Subcomment', blank=True)
    ....


class Subcomment(models.Model):

    ....
    author = models.CharField(max_length=80)
    published = models.DateTimeField(auto_now_add=True)
    email = models.EmailField(blank=True)
    url = models.URLField(blank=True)
    mcomment = models.ForeignKey(Comment)
    ....

コメントを投稿するためにRSS購読をしようとしています。次のコードを使用します。

class EntryCommentsFeed(Feed):

    ....
    def items(self, obj):
        return Comment.not_spam.filter(post=obj).order_by('-published')[:15]
    ....

しかし、サブコメントのないコメントのみを返します。コメント自体を「サブコメント」と日付順で返す方法がわかりません。

4

1 に答える 1

0

不可能です。モデル クエリセットは、そのモデル タイプのオブジェクトのみで構成されます。ただし、返された s をループして、それぞれのComments を取得できます。Subcomment

for comment in Comment.not_spam.filter(post=obj).order_by('-published')[:15]:
    subcomments = comment.subcomment_set.all()
于 2011-06-02T19:18:28.343 に答える