在 django 中使用 MongoEngine 查询嵌入式文档,python
Quering Embedded Documents using MongoEngine in django, python
我需要从文档课程中获取所有类型为 Subject 的 EmbeddedDocuments,其中 Subject.subject_name = 'Something'。
我正在尝试执行以下操作,但它对我不起作用:
results = Lesson.objects.filter(subject__match={'subject.subject_name':'Math'})
我的模特:
class Subject(EmbeddedDocument):
subject_code = IntField()
subject_name = StringField(max_length=60)
hours = IntField(required=False)
def __unicode__(self):
return smart_unicode(self.subject_name)
class Lesson(Document):
subject = EmbeddedDocumentField(Subject)
teacher = EmbeddedDocumentField(Teacher)
group = EmbeddedDocumentField(Group)
room = EmbeddedDocumentField(Room)
attendance = IntField()
def __unicode__(self):
return smart_unicode(self.id)
提前谢谢大家!
祝你今天过得愉快! :)
考虑到以下 link https://mongoengine-odm.readthedocs.org/guide/querying.html 很明显,raw 函数可以解决任务:
可以提供原始 PyMongo 查询作为查询参数,它将直接集成到查询中。这是使用 raw 关键字参数完成的:
results = Lesson.objects(__raw__={'subject.subject_name': 'Math'})
我需要从文档课程中获取所有类型为 Subject 的 EmbeddedDocuments,其中 Subject.subject_name = 'Something'。 我正在尝试执行以下操作,但它对我不起作用:
results = Lesson.objects.filter(subject__match={'subject.subject_name':'Math'})
我的模特:
class Subject(EmbeddedDocument):
subject_code = IntField()
subject_name = StringField(max_length=60)
hours = IntField(required=False)
def __unicode__(self):
return smart_unicode(self.subject_name)
class Lesson(Document):
subject = EmbeddedDocumentField(Subject)
teacher = EmbeddedDocumentField(Teacher)
group = EmbeddedDocumentField(Group)
room = EmbeddedDocumentField(Room)
attendance = IntField()
def __unicode__(self):
return smart_unicode(self.id)
提前谢谢大家! 祝你今天过得愉快! :)
考虑到以下 link https://mongoengine-odm.readthedocs.org/guide/querying.html 很明显,raw 函数可以解决任务:
可以提供原始 PyMongo 查询作为查询参数,它将直接集成到查询中。这是使用 raw 关键字参数完成的:
results = Lesson.objects(__raw__={'subject.subject_name': 'Math'})