基本的にこのようなもの
ValidationError (MatterUser:51dc53babc6163617b38c2fe) (A ReferenceField only accepts DBRef or documents 1.A ReferenceField only accepts DBRef or documents 2.A ReferenceField only accepts DBRef or documents 3.A ReferenceField only accepts DBRef or documents 4.A ReferenceField only accepts DBRef or documents 5.A ReferenceField only accepts DBRef or documents 6.A ReferenceField only accepts DBRef or documents 7.A ReferenceField only accepts DBRef or documents 8.A ReferenceField only accepts DBRef or documents 9.A ReferenceField only accepts DBRef or documents 10.A ReferenceField only accepts DBRef or documents 11.A ReferenceField only accepts DBRef or documents 12.A ReferenceField only accepts DBRef or documents 13.A ReferenceField only accepts DBRef or documents 14.A ReferenceField only accepts DBRef or documents 15.A ReferenceField only accepts DBRef or documents 16.A ReferenceField only accepts DBRef or documents: ['groups'])
私のモデルは正しいようですが(関連するビットのみを表示しています)
class MatterUser(Document):
groups = ListField(ReferenceField('Grouping'))
homeGroup = ReferenceField('Grouping')
...
class PermissionHolder(Document):
meta = {'allow_inheritance': True}
...
class Grouping(PermissionHolder):
...
そして、ビューの呼び出しは次のようになります
def createGroup(info):
group = Grouping()
group.save()
info['owner'].groups+=group
info['owner'].save() # The offending line
...
newUser = MatterUser(...)
newUser.save()
info = {'owner': newUser,...}
newUser.homeGroup = createGroup(info)
私が得られないのは、なぜこれほど多くの検証エラーが発生するのか、さらには何が問題なのかということです。
編集: 与えられたエラーは、ReferenceField であるモデル内のフィールドの数に等しいことにも気付きました。この場合、グループ化には 16 のフィールドがあります