Я создаю приложение форума для веб-сайта, и у меня есть столбец "quote_id" в таблице "Посты" для добавления post_id, если кто-то цитирует определенное сообщение для ответа. Это часть таблицы сообщений, как и все другие сообщения. Однако, когда я получу все записи, которые соответствуют теме, соответствующей выбранной теме, будет несколько записей, которые цитируют другие сообщения. Кажется, я не могу найти способ сделать это в Django ORM, чтобы получить информацию о цитируемых сообщениях для отображения вместе с сообщением, которое цитировало его (для отображения в сообщении, которое цитировало его). То, что у меня пока есть, ниже:
def show_topic_posts(request,forum_id,topic_id):
posts = Post.objects.filter(topic_id=topic_id)
topic = Topic.objects.get(topic_id=topic_id)
context = RequestContext(request,{'posts':posts,'topic':topic})
return render_to_response('forums/topics_posts.html',context_instance=context)
class Post(models.Model):
post_id = models.AutoField(primary_key=True)
forum_id = models.ForeignKey(Forum)
topic_id = models.ForeignKey(Topic)
post_date_time = models.DateTimeField(auto_now=True)
post_user_id = models.ForeignKey(User)
post_quote_id = models.IntegerField(null=True,blank=True)
post_body = models.TextField()
post_likes = models.IntegerField(default=0)
post_is_flagged = models.BooleanField(default=False)
def __unicode__(self):
return '%i' % self.topic_id
def get_absolute_url(self):
return '/forums/%s/%s/%s/' % (str(self.forum_id.pk), str(self.topic_id.pk),self.topic_id)
Как в мире я могу это сделать? Я искал Google и сайт Django Book и Django, пытаясь найти способ сделать это. Спасибо!