我希望在django views.py
中逐个选择for循环views.py
crave = CraveData.objects.filter(person=request.user.id)
for crave1 in crave:
#print crave1
check = Comment.objects.filter(crave=crave1)
comment.model.py
class Comment(models.Model):
comment_owener = models.ForeignKey(User)
crave=models.ForeignKey(CraveData, blank = True,null = True)
reply=models.CharField(max_length=1000, blank = True,null = True)
unique_id= models.IntegerField(max_length=50, blank = True,null = True)
date= models.DateTimeField(auto_now_add=True, blank=True)
def __unicode__(self):
return self.reply
crave.model.py
class CraveData(models.Model):
person = models.ForeignKey(User)
post=models.TextField(blank = True,null = True)
date= models.DateTimeField(auto_now_add=True, blank=True)
def __unicode__(self):
return self.post
在打印crave1时,我得到了与该特定用户相关的渴望数据中的所有对象。在这里,我得到了crave1的打印结果是Post1,Post2。 在这里,我想选择每个渴望,以便我可以分配相关的评论到那个渴望。在这种情况下,我想选择post1,所以我可以将与post1相关的评论分配给自己。 我希望为该用户可用的所有渴望做到这一点。
我在这里尝试使用
crave1.check=Comment.objects.filter(crave=crave1)
所以我收到了这个回复
[<Comment: reply1>, <Comment: Reply1.1>, <Comment: reply1.3>]
[<Comment: reply2>]
但是
[<Comment: reply1>, <Comment: Reply1.1>, <Comment: reply1.3>]
此评论与post1和
相关联[<Comment: reply2>]
此评论与post2渴望有关。
comment.html
<p><strong>{{user.username}} said:</strong></p><br>
{% for crave1 in crave %}
{{crave1}}<br>
{% for pf in check%}
{{pf.reply}}<br>
{% endfor %}
{% endfor %}
因此浏览器中所有这些的结果是 管理员说:
POST1 REPLY2 POST2 REPLY2
基本上我想显示该特定用户的帖子及其相关评论。 请帮助我。
答案 0 :(得分:1)
您可以像这样使用反向外键关系:
{% for crave1 in crave %}
{{crave1}}<br>
{% for comment in crave1.comment_set.all }}
{{comment.reply}}<br>
{% endfor %}
{% endfor %}
以下是它的文档。 related_name和reverse relationships.