Можно ли получить подмножество полей, используя Django mongodb nonrel. Я совершенно новичок в питоне, но хорошо разбираюсь в монго.
Мое требование очень прямолинейно, я хотел запросить коллекцию по ее встроенному полю и вернуть только некоторые определенные поля.
Я мог бы сделать это в mongodb с помощью
db.Contract.find({'owner.name':'Ram'},{'address':1})
и я пробовал это в джанго
Contract.objects.filter(owner__name='Ram')
но выдает ошибку
поднять FieldError("Объединение в поле %r не разрешено. Вы ошиблись в написании %r для типа поиска?" % (имя, имена[pos + 1])) FieldError: Объединение в поле "владелец" не разрешено. Вы неправильно написали «имя» для типа поиска?
я полностью поражен здесь. Я считаю, что у меня есть свои модели, как указано в документации.
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, )
Это действительно странно. Я не смог найти ссылку на сайте документации о том, как запросить встроенное поле и получить подмножество полей.
Наконец, я использовал raw_query для запроса встроенного поля.
Contract.objects.raw_query({'owner.name':'Ram'})
Но до сих пор не могу понять, как получить подмножество полей. Кто-нибудь может мне помочь?