1

私がやろうとしているのは、現在の提案からのコメントのみを詳細ページに表示することです。しかし、私が VIEWS ファイルにコーディングした方法では、すべてのコメントが表示されます。これが私の見解です:

def detail(request, suggestion_id):
    suggestion = get_object_or_404(Suggestion, pk=suggestion_id)
    comments = get_object_or_404(Comments.objects.all(), pk=suggestion_id) #This is my question
    if request.method == 'POST':
        commentform = CommentForm(request.POST)
        if commentform.is_valid():
            cd = commentform.cleaned_data
            comment = Comments.objects.get(sid=sid) 
            comment.comment = cd.get('comment')
            comment.save()
    commentform=CommentForm()
    context = {
        'suggestion' : suggestion,
        'commentform' : commentform,
        'comments' : comments,
    }

    return render(request, 'suggestionbox/detail.html', context)

モデル:

class Suggestion(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=100)
    description = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)
    status = models.ForeignKey('Status')
    category = models.ForeignKey('Category')

    def __unicode__(self):
        return self.title

class Comments(models.Model):
    comment = models.TextField()
    user = models.ForeignKey(User)
    pub_date = models.DateTimeField(auto_now_add=True)
    sid = models.ForeignKey(Suggestion) # Suggestion ID

    def __unicode__(self):
        return self.comment[:50]

私は Django を初めて使用し、すべてがどのように機能するかをまだ理解しようとしています。どんな助けでも大歓迎です。

4

0 に答える 0