Я пытаюсь создать страницу администрирования, из которой я могу редактировать, какие роли пользователь участвует в использовании MonogDB и Flask-Admin.Обновление MongoDB ReferenceField с использованием Flask-Admin
models.py
class Role(db.Document, RoleMixin):
name = db.StringField(max_length=80, unique=True)
description = db.StringField(max_length=255)
def __unicode__(self):
return self.name
class User(db.Document, UserMixin):
email = db.StringField(max_length=255)
password = db.StringField(max_length=255)
roles = db.ListField(db.ReferenceField(Role))
admin.py
class UserView(ModelView):
from wtforms.fields import SelectMultipleField
from bson import ObjectId, DBRef
form_overrides = dict(roles=SelectMultipleField)
options = [(g.id, g.name) for g in models.Role.objects()]
# print options
# [(ObjectId('54a72849426c702850d01921'), u'community'),
# (ObjectId('54a72849426c702850d01922'), u'customer')]
form_args = dict(roles=dict(choices=options))
Когда я выбираю роли пользователя в представлении edit_form Колба-администратора и cilck сохранения, после проверки формы ошибка: '54a72849426c702850d01922' не допустимый выбор для этого поля
Каков правильный способ редактирования/обновления ReferenceField?