繁体   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