PyDAL выдает ошибку в SQL-форме Web2py с Mongo 4

#mongodb #python-3.6 #web2py #pydal

Вопрос:

Ubuntu 18 — Python 3.6.9 — Монго 4

Используя форму SQLFORM, предоставленную Web2py, я получаю ошибку в PyDAL:

Ошибка атрибута: объект «Таблица» не имеет атрибута «_notnulls»

Я использую свою таблицу auth.user для создания формы, и она работает с остальной частью моего приложения, за исключением случаев, когда она используется с SQLFORM и пытается обработать().

Вот мой код, выдающий ошибку, код является стандартной практикой web2py для форм:

 def my_form_processing(form):
        pass

db.auth_user.modified_by.writable = False
db.auth_user.created_by.writable = False
form = SQLFORM(db.auth_user)

if form.process(onvalidation=my_form_processing).accepted:
    session.flash = 'Record inserted'
    redirect(URL())
elif form.errors:
    response.flash = 'Form has errors'
else:
    session.flash = 'Please fill the form'

    return dict(form=form)
 

Вот обратная связь:

 Traceback (most recent call last):
  File "/opt/web2py/gluon/restricted.py", line 219, in restricted
    exec(ccode, environment)
  File "/opt/web2py/applications/connexxion/controllers/admin.py", line 380, in <module>
  File "/opt/web2py/gluon/globals.py", line 430, in <lambda>
    self._caller = lambda f: f()
  File "/opt/web2py/gluon/tools.py", line 3878, in f
    return action(*a, **b)
  File "/opt/web2py/applications/connexxion/controllers/admin.py", line 128, in adduser
    if form.process(onvalidation=my_form_processing).accepted:
  File "/opt/web2py/gluon/html.py", line 2339, in process
    self.validate(**kwargs)
  File "/opt/web2py/gluon/html.py", line 2277, in validate
    if self.accepts(**kwargs):
  File "/opt/web2py/gluon/sqlhtml.py", line 1994, in accepts
    self.vars.id = self.table.insert(**fields)
  File "/opt/web2py/gluon/packages/dal/pydal/objects.py", line 892, in insert
    ret = self._db._adapter.insert(self, row.op_values())
  File "/opt/web2py/gluon/packages/dal/pydal/adapters/mongo.py", line 475, in insert
    raise e
  File "/opt/web2py/gluon/packages/dal/pydal/adapters/mongo.py", line 471, in insert
    self.check_notnull(table, values)
  File "/opt/web2py/gluon/packages/dal/pydal/adapters/mongo.py", line 422, in check_notnull
    for fieldname in table._notnulls:
AttributeError: 'Table' object has no attribute '_notnulls'