si j'ai.comment utiliser l'attribut de filtre queryset en fonction de tableau dans django?
data= request.data['participants']
Conversation.objects.filter(participants = data).values()
où les données sont un ensemble de participants, je veux obtenir des conversations qui ont les participants à
je veux comparer un tableau à une clé étrangère (un à plusieurs) pour obtenir une conversation qui contient ces participants.
{
"conversation_id": 38,
"created_at": "2017-08-14T09:15:19.776000Z",
"name": "first conversation",
"participants": [
{
"id": 1,
"username": "zezor93",
},
{
"id": 64,
"username": "tasus22",
}
]
}
modèle Conversation:
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)
Conversation sérialiseur:
class ConversationSerializer(ModelSerializer):
user = UserSerializer(many=False, read_only=True)
participants = UserSerializer(many=True, read_only=True)
class Meta:
model = Conversation
fields = '__all__'
la raison pour laquelle je veux filtrer selon le tableau de participants, que lorsque je crée une conversation un ensemble de participants, je dois savoir s'il y a une conversation avec ces partic exact ipant donc je ne vais pas le créer je vais juste le retourner, si elles ne sont pas les participants exacts je vais créer une nouvelle conversation.
Vérifiez 'in' https://docs.djangoproject.com/fr/1.11/ref/models/querysets/#in – neverwalkaloner
' in' renverra toute conversation contenir un de ces participants .. je veux avoir une conversation qui n'ont que cet ensemble de participants dans 'data = request.data ['participants']' – zezor93
votre conversation contient de nombreux participants ou un participant? poster votre modèle peut aider. vous voulez avoir une conversation qui n'a que cet ensemble de participants dans data = request.data ['participants'], que voulez-vous dire par seulement? – Ykh