1

私はdjango-mongodb-engineを使用しています

ここでは、生のクエリを使用するために mondodbmanager を使用しています。

class NameInfo(models.Model)
   first_name = models.CharField(max_length=50)


class Abc(models.Model):
    name = EmbeddedModelField('NameInfo')
    objects = MongoDBManager()

** Abc.objects.raw_query({'name.firstname.contains':'j'})**

これは期待どおりに機能していません。では、埋め込みフィールドでルックアップ タイプを含むを使用するにはどうすればよいでしょうか。

それ以外の回避策がある場合は、以下のように mongodbmanager も受け入れられます。

from django_mongodb_engine.query import A
Abc.objects.filter(name=A('first_name__icontains','j'))
4

1 に答える 1

0

MongoDB の用語では、これは$regex操作であるため、次のように "raw" で発行します。

Abc.objects.raw_query({ "name.firstname": { "$regex": "j" } })

返されるオブジェクトは、クラス定義のモデル オブジェクトではなく、生の Python オブジェクトであることに注意してください。

于 2015-07-14T10:50:22.320 に答える