1

MongoEngine でunique_with作業できません。ReferenceFields私のモデルは次のようになります。

class WorkoutSchedule(database.Document):
    """ Defines a workout schedule """
    user = database.ReferenceField(User)
    title = database.StringField(
        required=True,
        min_length=3,
        max_length=30,
        unique_with=user)

userそして、との両方titleが等しい場合、ドキュメントを一意にする必要があります。ただし、これは例外をスローします。

TypeError: Error when calling the metaclass bases
    'ReferenceField' object is not iterable

使用することはまったく可能ですかunique_withReferenceFieldsまたはこれを手動で解決する必要がありますか?

4

1 に答える 1

1

ドキュメントhttps://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html?highlight=unique_with#field-argumentsを参照してください:

unique_with (Default: None)
    A field name (or list of field names) that when taken together 
    with this field, will not have two documents in the collection
    with the same value.

フィールド名のまたはであるunique_with必要があります。basestringlistbasestring

class WorkoutSchedule(database.Document):
    """ Defines a workout schedule """
    user = database.ReferenceField(User)
    title = database.StringField(
        required=True,
        min_length=3,
        max_length=30,
        unique_with=['user'])
于 2013-08-09T05:54:55.317 に答える