簡體   English   中英

如何在 Django 中查詢具有多個條件的表?

[英]How can I query in Django to a table with multiple conditions?

我有一個包含字段channel_idmessage_idstatus的表。 此表中的每一行代表來自頻道的一條消息。 狀態可以是 SENT、DELIVERED 或 SEEN。 當用戶發送消息時,會在此表中添加一行,狀態為 SENT。 當用戶閱讀該消息時,會添加另一行,狀態為 SEEN。 因此,對於一條消息,我有多行。 我想從這個表中檢索沒有 SEEN 狀態的行,所以我能夠知道哪些消息沒有被讀取。 有沒有辦法只對數據庫進行一次查詢?

編輯:我想做一個子查詢之類的東西。 所以,如果我有以下數據:

[channel_id = 1, message_id = 1, status = 'DELIVERED'],
[channel_id = 1, message_id = 1, status = 'SEEN'],
[channel_id = 1, message_id = 2, status = 'DELIVERED']

查詢只給了我第二個,因為我知道這是尚未看到的消息。

以下查詢將為您提供為每條消息添加的狀態列表。 使用它你可以檢查天氣信息是否被閱讀。

  TableName.objects.filter(channel_id=channel_id, message_id=message_id).value_list('status', flat=True);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM