最近2天我一直在想它,而且我不知道該怎麼做。如何使用Django ORM獲取所有聯繫人和消息?
型號:
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來做到這一點嗎?
謝謝。
它不清楚你想要完成什麼。你是否將receiver_id或sender_id中的消息分組在表中? 'your_id'是什麼,什麼消息被過濾掉(不包括你是發送者還是接收者的消息)? – 2013-05-11 11:19:45
在表格中,我沒有對消息進行分組。我的ID - 1,例如 – tim 2013-05-11 11:42:44