В основном что-то вроде этого
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 полей.