emmett-framework / emmett

The web framework for inventors
Other
1.05k stars 71 forks source link

ORM #498

Closed erhuabushuo closed 3 months ago

erhuabushuo commented 3 months ago
WriteUser.create(
        username="admin",
        password="aaa111",
        name="超级管理员",
        role=ROLES.zongongsi,
    )

Database Objects create got :

Traceback (most recent call last):
  File "/home/aidan/workbench/myproject/backend/.venv/bin/emmett", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/cli.py", line 523, in main
    cli.main(prog_name="python -m emmett" if as_module else None)
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/cli.py", line 236, in main
    return super().main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/app/commands/setup.py", line 10, in setup
    WriteUser.create(
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/orm/models.py", line 957, in create
    return cls.table.validate_and_insert(skip_callbacks=skip_callbacks, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/orm/objects.py", line 162, in validate_and_insert
    response, new_fields = self._validate_fields(fields)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/pydal/objects.py", line 749, in _validate_fields
    value, error = self[fieldname].validate(raw_value)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/pydal/objects.py", line 1811, in validate
    (value, error) = validator(value)
                     ^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/validators/inside.py", line 235, in __call__
    ).select(limitby=(0, 1)).first()
      ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/orm/objects.py", line 540, in select
    return obj._run_select_(*fields, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/orm/objects.py", line 522, in _run_select_
    return self.db._adapter.select(self.query, fields, options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/pydal/adapters/base.py", line 760, in select
    return self._select_aux(sql, fields, attributes, colnames)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/orm/adapters.py", line 62, in wrapped
    return f(adapter, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/emmett/orm/adapters.py", line 215, in _select_aux
    rows = adapter._select_aux_execute(sql)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/pydal/adapters/base.py", line 710, in _select_aux_execute
    self.execute(sql)
  File "/home/aidan/workbench/myproject/backend/.venv/lib/python3.12/site-packages/pydal/adapters/__init__.py", line 65, in wrap
    raise ValueError(args[1])
ValueError: SELECT "users"."id", "users"."created_at", "users"."updated_at", "users"."username", "users"."password", "users"."name", "users"."login_at", "users"."deleted_at", "users"."status", "users"."role", "users"."is_init", "users"."gongsi", "users"."fengongsi", "users"."dagudong", "users"."gudong", "users"."zongdaili", "users"."daili" FROM "users" WHERE (("users"."id" IS NOT NULL) AND ("users"."username" = 'admin')) ORDER BY "users"."id" LIMIT 1 OFFSET 0;
gi0baro commented 3 months ago

Seems like you have pending migrations to apply.