I have two models. Comment and his "Subcomments":
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)
....
I trying to make RSS subscribtion to post comments. I use following code:
class EntryCommentsFeed(Feed):
....
def items(self, obj):
return Comment.not_spam.filter(post=obj).order_by('-published')[:15]
....
But It returns only Comments without subcomments, and i don't have any idea how to return comment itself with his 'subcomments' and order by date.
It's not possible. Model querysets are only ever composed of objects of that model type. You can loop through the returned Comment
s and get the Subcomment
s for each, though:
for comment in Comment.not_spam.filter(post=obj).order_by('-published')[:15]:
subcomments = comment.subcomment_set.all()