Djangoテンプレートでクエリセットをレンダリングする方法は?

トリラ

ログインしたユーザーがDjangoChannels2を使用してすべてのメッセージを表示できる受信トレイを作成しています。

ログインしたユーザーのすべてのスレッドオブジェクトを返すために、InboxViewでクエリセットをレンダリングしたいと思います。

構文に問題があり、スレッドが表示されません。

誰かが親切に私を助けてくれたら、私はそれをいただければ幸いです。

ログインしたユーザーのすべてのスレッドオブジェクトを返すために、InboxViewでクエリセットをレンダリングしたいと思います。

views.py

class InboxView(LoginRequiredMixin, ListView):
    template_name = 'chat/inbox.html'
    def get_queryset(self):
        return Thread.objects.by_user(self.request.user)

models.py

class ThreadManager(models.Manager):
    def by_user(self, user):
        qlookup = Q(first=user) | Q(second=user)
        qlookup2 = Q(first=user) & Q(second=user)
        qs = 
self.get_queryset().filter(qlookup).exclude(qlookup2).distinct()
        return qs


class Thread(models.Model):
    first        = models.ForeignKey(settings.AUTH_USER_MODEL, 
on_delete=models.CASCADE, related_name='chat_thread_first')
    second       = models.ForeignKey(settings.AUTH_USER_MODEL, 
on_delete=models.CASCADE, related_name='chat_thread_second')
    updated      = models.DateTimeField(auto_now=True)
    timestamp    = models.DateTimeField(auto_now_add=True)


    objects      = ThreadManager()

    def __str__(self):
        return f'{self.first}'

class ChatMessage(models.Model):
    thread      = models.ForeignKey(Thread, null=True, blank=True, 
on_delete=models.SET_NULL)
    user        = models.ForeignKey(settings.AUTH_USER_MODEL, 
verbose_name='sender', on_delete=models.CASCADE)
    message     = models.TextField()
    timestamp   = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f'{self.id}'

inbox.html

  {% for thread in object.thread_set.all?? %}
      <div class="chat_list">
            <h5>{{ thread.second }}<span 
class="chat_date">{{ thread.timestamp }}</span></h5>
            <p>{{ chat.message? }}</p>
      </div>
      {% endfor %}
ダニエルローズマン

あなたはそれを全く必要としません。ビューはすでにThreadに基づいているためobject_list、Threadオブジェクトのクエリセットを含むものを取得します。

{% for thread in object_list %}

あなたが試していた構文は、他のモデルのDetailViewがあり、そのオブジェクトからそのスレッドのリストへの関係をたどろうとしている場合に役立ちます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Djangoベーステンプレートでクエリセットをレンダリングするにはどうすればよいですか?

分類Dev

Djangoクエリセットを列ごとにhtmlテーブルにレンダリングする方法は?

分類Dev

Djangoクエリセットをテンプレートのjavascriptにレンダリングするにはどうすればよいですか?

分類Dev

dust.jsテンプレート:セクションを非同期でレンダリングする方法は?

分類Dev

Django テンプレートで 2 つのクエリセットを比較する方法は?

分類Dev

テンプレートでバックエンドからコンテンツをレンダリングする方法は?

分類Dev

djangoテンプレートでクエリセットリストを反復する方法

分類Dev

Djangoテンプレートでクエリを作成する方法

分類Dev

PedestalでHTMLテンプレートをレンダリングする方法は?

分類Dev

AngularJSディレクティブでテンプレートを再レンダリングする方法は?

分類Dev

Firestoreクエリで「Where」ステートメントを条件付きでレンダリングする方法は?

分類Dev

djangoテンプレートで順序付き辞書をレンダリングする方法は?

分類Dev

djangoテンプレートで変数をレンダリングする方法は?

分類Dev

Django WebアプリケーションでMatplotlibプロットをレンダリングする方法は?

分類Dev

リスト内のクエリセットをhtmlにレンダリングする方法をDjango

分類Dev

djangoテンプレートで過剰なクエリを回避する方法は?

分類Dev

django-allauth テンプレートをレンダリングする方法

分類Dev

クラスベースビューを使用して、別のアプリからdjangoでテンプレートをレンダリングする方法は?

分類Dev

DjangoテンプレートでマークダウンをHTMLにレンダリングする

分類Dev

非同期リクエストでreduxアプリをサーバーレンダリングする方法は?

分類Dev

Razorテンプレートで関連エンティティをレンダリングする方法

分類Dev

Djangoアプリで変数をテンプレートにレンダリングする方法

分類Dev

djangoテンプレートで動的変数をレンダリングする

分類Dev

JekyllMarkdownでレンダリングリキッドテンプレートをエスケープする

分類Dev

djangoのifステートメント内でリクエストをレンダリングする方法はありますか?

分類Dev

Laravelテンプレートエンジンで文字列をレンダリングする方法

分類Dev

後でテンプレートをレンダリングする方法をejs

分類Dev

djangoテンプレートでクエリフィルタリングを実行する方法

分類Dev

erubiテンプレートをhtmlにレンダリングする方法は?

Related 関連記事

  1. 1

    Djangoベーステンプレートでクエリセットをレンダリングするにはどうすればよいですか?

  2. 2

    Djangoクエリセットを列ごとにhtmlテーブルにレンダリングする方法は?

  3. 3

    Djangoクエリセットをテンプレートのjavascriptにレンダリングするにはどうすればよいですか?

  4. 4

    dust.jsテンプレート:セクションを非同期でレンダリングする方法は?

  5. 5

    Django テンプレートで 2 つのクエリセットを比較する方法は?

  6. 6

    テンプレートでバックエンドからコンテンツをレンダリングする方法は?

  7. 7

    djangoテンプレートでクエリセットリストを反復する方法

  8. 8

    Djangoテンプレートでクエリを作成する方法

  9. 9

    PedestalでHTMLテンプレートをレンダリングする方法は?

  10. 10

    AngularJSディレクティブでテンプレートを再レンダリングする方法は?

  11. 11

    Firestoreクエリで「Where」ステートメントを条件付きでレンダリングする方法は?

  12. 12

    djangoテンプレートで順序付き辞書をレンダリングする方法は?

  13. 13

    djangoテンプレートで変数をレンダリングする方法は?

  14. 14

    Django WebアプリケーションでMatplotlibプロットをレンダリングする方法は?

  15. 15

    リスト内のクエリセットをhtmlにレンダリングする方法をDjango

  16. 16

    djangoテンプレートで過剰なクエリを回避する方法は?

  17. 17

    django-allauth テンプレートをレンダリングする方法

  18. 18

    クラスベースビューを使用して、別のアプリからdjangoでテンプレートをレンダリングする方法は?

  19. 19

    DjangoテンプレートでマークダウンをHTMLにレンダリングする

  20. 20

    非同期リクエストでreduxアプリをサーバーレンダリングする方法は?

  21. 21

    Razorテンプレートで関連エンティティをレンダリングする方法

  22. 22

    Djangoアプリで変数をテンプレートにレンダリングする方法

  23. 23

    djangoテンプレートで動的変数をレンダリングする

  24. 24

    JekyllMarkdownでレンダリングリキッドテンプレートをエスケープする

  25. 25

    djangoのifステートメント内でリクエストをレンダリングする方法はありますか?

  26. 26

    Laravelテンプレートエンジンで文字列をレンダリングする方法

  27. 27

    後でテンプレートをレンダリングする方法をejs

  28. 28

    djangoテンプレートでクエリフィルタリングを実行する方法

  29. 29

    erubiテンプレートをhtmlにレンダリングする方法は?

ホットタグ

アーカイブ