[英]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.