class DynamicSettings(DynamicEmbeddedDocument):
known_field = StringField()
class Person(Document):
name = StringField()
settings = EmbeddedDocumentField(DynamicSettings)
p = Person(settings=DynamicSettings(known_field="abc", dynamic_field1="123"), name="John").save()
# The following raises a LookUpError
Person.objects(settings__dynamic_field1="123").first()