这两天一直在想,不知道怎么弄。
楷模:
class Messages(models.Model):
sender = models.ForeignKey(User, verbose_name="Sender", related_name='sender_user')
receiver = models.ForeignKey(User, verbose_name="Receiver", related_name='receiver_user')
readed = models.BooleanField('Readed')
date_time = models.DateTimeField('Time', auto_now=True)
message = models.CharField('Message', max_length=255)
在页面中,我需要一个唯一联系人列表(没有我的)并计算未读消息,按 date_time 排序。例如,在表格中我们可以看到:
+----+-----------+-------------+--------+---------------------+--------------------------+
| id | sender_id | receiver_id | readed | date_time | message |
+----+-----------+-------------+--------+---------------------+--------------------------+
| 1 | 1 | 2 | 0 | 2013-05-10 17:53:53 | 14124141 |
| 2 | 2 | 1 | 0 | 2013-05-10 18:13:16 | 2131231 abf |
| 3 | 2 | 1 | 0 | 2013-05-10 18:17:29 | 52525252 |
| 4 | 1 | 3 | 0 | 2013-05-10 20:00:52 | 12312312312 |
+----+-----------+-------------+--------+---------------------+--------------------------+
在一个页面中必须有 2 个联系人:
3 | 1 unread
2 | 2 unread
我所做的只是合并两个字段,删除重复记录和我的 id,但我认为,这还不是全部。那么,关于views.py 的任何工作示例?是否有可能用 SQL 做到这一点?
谢谢。