3

ユーザーからのすべてのAnnounceオブジェクトを表示しようとすると問題が発生します。私の問題は次のとおりです。ID = 1のユーザーとしてログインしていると考えてください。/users/1/にアクセスすると、すべての投稿が表示されます。しかし、問題は、/users/2/ に移動して id=2 を持つ別のユーザーからのすべての投稿を表示したいときに、id=2 のユーザーではなく、すべての Announce オブジェクトを表示することです。

models.py

class Announce(models.Model):
    owner        = models.ForeignKey('auth.User', related_name='announces')
    created_date = models.DateTimeField(auto_now_add=True)
    body         = models.TextField(max_length=1000)

ビュー.py

class UserAnnouncesList(ListView):
    model = Announce
    template_name = 'myApp/user_announces_list.html'
    context_object_name = 'all_announces_by_user'

    def get_queryset(self):
        return Announce.objects.filter(owner=self.request.user)

urls.py

urlpatterns = [
url(r'users/(?P<pk>[0-9]+)/$', views.UserAnnouncesList.as_view(), name='user_announces_list'),]

user_announces_list.html

{% extends "account/base.html" %}

{% block content %}
{% for announce in all_announces_by_user %}
<h1>{{announce.user.username}}</h1>
    <p>{{announce.body}}</p>

{% endfor %}
{% endblock content %}

次のようなものを使用する必要がありますか: Announce.objects.get(pk=???) ?

私はあなたの助けに感謝します!

4

1 に答える 1