如果我有:
data= request.data['participants']
Conversation.objects.filter(participants = data).values()
如果数据是参与者的数组,我想得到那些参与者参与的对话。你知道吗
我想将数组与外键(一对多)进行比较,以获得包含这些参与者的对话。你知道吗
{
"conversation_id": 38,
"created_at": "2017-08-14T09:15:19.776000Z",
"name": "first conversation",
"participants": [
{
"id": 1,
"username": "zezor93",
},
{
"id": 64,
"username": "tasus22",
}
]
}
对话模式:
class Conversation(models.Model):
user = models.ForeignKey(User, null=False)
participants = models.ManyToManyField(User, related_name='participants')
created_at = models.DateTimeField(_('created at'), auto_now_add=True)
name = models.CharField(_("file title"), max_length=50, null=True, blank=True)
会话序列化程序:
class ConversationSerializer(ModelSerializer):
user = UserSerializer(many=False, read_only=True)
participants = UserSerializer(many=True, read_only=True)
class Meta:
model = Conversation
fields = '__all__'
我想根据参与者数组进行过滤的原因是,当我创建一组参与者的对话时,我需要知道是否有与这些确切参与者的对话,所以我不会创建它,我只会返回它,如果他们不是确切的参与者,我会创建一个新的对话。你知道吗
我不太清楚你打算做什么。Hope this helps you
相关问题 更多 >
编程相关推荐