我用过django,但我是mongodb的新手。我有以下模型:
class Conversation(models.Model):
date = models.DateTimeField(auto_now_add=True, db_index=True)
users = ListField(models.CharField(max_length="64"), editable=False)
messages = ListField(EmbeddedModelField('Message'), editable=False)
class Message(models.Model):
user = models.CharField(max_length="64")
text = models.CharField(max_length="512");
date = models.DateTimeField(auto_now_add=True, db_index=True)
我已经存储并显示每个用户的消息对话,但现在我想过滤一些用户的对话,比如私聊。
例如,我希望得到用户包含的对话['Dennis','linus','Guido']
我该怎么办?
提前致谢。
*编辑*
我用Q
得到它django.db.models.Q
Conversation.objects.filter(Q(users = msg['Dennis'])&Q(users = msg['linus']&Q(users = msg['Guido']))
有更好的方法吗?
答案 0 :(得分:1)
我想你在使用mongoengine?
Conversation.objects.filter(users__all=['Dennis','linus','Guido'])