[英]How can I query in Django to a table with multiple conditions?
我有一個包含字段channel_id
、 message_id
和status
的表。 此表中的每一行代表來自頻道的一條消息。 狀態可以是 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.