數據庫不會遍歷所有內容。它保持記錄索引。
你可以爲用戶建立一個模型(如果不是django提供了一個默認的用戶模型)。
class Users(models.Model):
# all the fields you want for a user(username, password, email,etc..)
message_exchanged=models.ManyToManyField(Messages,through='MessageMap',through_fields=('messagefrom','message'))
然後你可以有一個類來存儲消息。
class Messages(models.Model):
message_text=models.TextField()
#other fields you want to add for a message
在這裏你有你的MessageMap模型
class MessageMap(models.Model):
messagefrom=models.ForeignKey(Users)
message=models.ForeignKey(Message)
messageto=models.ForeignKey(User,related_name='next_messsage',null=True,blank=True)
,一旦你保存的消息。你可以使用查詢消息
messages=Message.objects.filter(Q(messagefrom = from_user),Q(messageto=to_user))
messages=Message.objects.filter(Q(messagefrom = from_user),Q(messageto=to_user))
但即使當數據庫返回它們後,它通過一切迭代後返回正確嗎? 因此,無論我在視圖還是數據庫中迭代,它應該會更好,但仍然不夠好嗎? –