Est-il possible de récupérer le sous-ensemble de champs à l'aide de Django mongodb nonrel? Je suis totalement novice en python, mais j'ai de bonnes connaissances en mongo.Récupération du sous-ensemble de champs en interrogeant le champ incorporé
Mon exigence est très simple, je voulais interroger la collection par son champ intégré et retour seulement quelques champs spécifiques
je pouvais le faire dans MongoDB par
db.Contract.find({'owner.name':'Ram'},{'address':1})
et j'ai essayé cela en django
Contract.objects.filter(owner__name='Ram')
mais il renvoie une erreur
raise FieldError("Join on field %r not permitted. Did you misspell %r for the lookup type?" % (name, names[pos + 1])) FieldError: Join on field 'owner' not permitted. Did you misspell 'name' for the lookup type?
suis totalement frappé ici. Je crois que j'ai mes modèles comme spécifié dans la documentation.
class SimplePerson(models.Model):
name = models.CharField(max_length=255)
user_key = models.CharField(max_length=255)
class Contract(models.Model):
owner = EmbeddedModelField('SimplePerson')
title = models.CharField(max_length=120,)
C'est vraiment bizarre. Je n'ai trouvé aucune référence dans le site de documentation sur la façon d'interroger le champ incorporé & récupérer le sous-ensemble de champs.
Enfin j'ai utilisé raw_query pour interroger le champ embarqué
Contract.objects.raw_query({'owner.name':'Ram'})
Mais toujours pas en mesure de comprendre comment récupérer le sous-ensemble des champs. Est-ce que quelqu'un peut m'aider?
Merci @jonahs, son travail .. – RameshVel