简体   繁体   English

raise sa_exc.ArgumentError(sqlalchemy.exc.ArgumentError: Mapper mapped class car->car could notassemble any primary key columns for mapped table

[英]raise sa_exc.ArgumentError( sqlalchemy.exc.ArgumentError: Mapper mapped class car->car could not assemble any primary key columns for mapped table

I am busy with learning turbogears, which i find a very good and easy to work framework in compare with Django, that gave me many problems with the imports.我正忙于学习涡轮齿轮,与 Django 相比,我发现它是一个非常好且易于工作的框架,这给我带来了很多导入问题。 i have a.py file which i wrote a code, but doesn't seem to be able to assemble any primary key columns for my mapped table我有一个.py 文件,我编写了一个代码,但似乎无法为我的映射表组装任何主键列

raise sa_exc.ArgumentError(
sqlalchemy.exc.ArgumentError: Mapper mapped class car->car could not assemble any primary key columns for mapped table 'car'
from unicodedata import name
from sqlalchemy import Column
from sqlalchemy.types import Integer, Unicode
from dataproj.model import DeclarativeBase
class car(DeclarativeBase):
    __tablename__ = 'car'
    carid = Column(Integer, Primary_key = True)
    make = Column(Unicode(40), nullable = False, default = '')
    model = Column(Unicode(40), nullable = False, default = '')
    year = Column(Integer, nullable = False, default = '')
    transmission = Column(Unicode(10), nullable = False, default = '')

Have tried it with a different format like de sqlalchemy document says but its still not working this is what i typed:已经尝试过使用不同的格式,例如 de sqlalchemy 文档说,但它仍然无法正常工作这是我输入的内容:

from unicodedata import name
from sqlalchemy import PrimaryKeyConstraint
from sqlalchemy import Column
from sqlalchemy.types import Integer, Unicode
from dataproj.model import DeclarativeBase

class car(DeclarativeBase):
    __tablename__ = 'car'
    
    Column('car_id', Integer, Primary_key = True)
    Column('make', Unicode(40), nullable = False, default = '')
    Column('model', Unicode(40), nullable = False, default = '')
    Column('year', Integer, nullable = False, default = '')
    Column('transmission', Unicode(10), nullable = False, default = '')

and this is the traceback:这是回溯:

Traceback (most recent call last):
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/wsgiapp.py", line 82, in __call__
    response = self.wrapped_dispatch(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/errorpage.py", line 64, in __call__
    resp = self.next_handler(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/transaction_manager.py", line 107, in __call__
    reraise(*exc_info)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/_compat.py", line 87, in reraise
    raise value
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/transaction_manager.py", line 79, in __call__
    response = self.next_handler(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/caching.py", line 54, in __call__
    return self.next_handler(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/session.py", line 71, in __call__
    response = self.next_handler(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/identity.py", line 47, in __call__
    return self.next_handler(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/appwrappers/i18n.py", line 71, in __call__
    return self.next_handler(controller, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/wsgiapp.py", line 243, in _dispatch
    return controller(environ, context)
  File "/Users/alexandra/TurboGearsProjects/dataproj/dataproj/lib/base.py", line 27, in __call__
    return TGController.__call__(self, environ, context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/controllers/dispatcher.py", line 118, in __call__
    response = self._perform_call(context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/controllers/dispatcher.py", line 107, in _perform_call
    r = self._call(action, params, remainder=remainder, context=context)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/controllers/decoratedcontroller.py", line 129, in _call
    output = controller_caller(context_config, bound_controller_callable, remainder, params)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/controllers/decoration.py", line 21, in _decorated_controller_caller
    return application_controller_caller(tg_config, controller, remainder, params)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tgext/debugbar/sections/timing.py", line 77, in wrapped_controller
    result = profiler.runcall(controller, *args, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/cProfile.py", line 109, in runcall
    return func(*args, **kw)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/tg/configurator/components/dispatch.py", line 114, in _call_controller
    return controller(*remainder, **params)
  File "/Users/alexandra/TurboGearsProjects/dataproj/dataproj/controllers/root.py", line 127, in showgrid
    data = DBSession.query(car).all()
  File "<string>", line 2, in query
    
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2159, in query
    return self._query_cls(entities, self, **kwargs)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 180, in __init__
    self._set_entities(entities)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 187, in _set_entities
    self._raw_columns = [
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 188, in <listcomp>
    coercions.expect(
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 188, in expect
    resolved = impl._literal_coercion(
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 401, in _literal_coercion
    self._raise_for_expected(element, argname)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 437, in _raise_for_expected
    return super(_SelectIsNotFrom, self)._raise_for_expected(
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 283, in _raise_for_expected
    util.raise_(exc.ArgumentError(msg, code=code), replace_context=err)
  File "/Users/alexandra/TurboGearsProjects/tgenv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
    raise exception
sqlalchemy.exc.ArgumentError: Column expression or FROM clause expected, got <class 'dataproj.model.car.car'>.

In your definition of the carid column you have a casing typo - the argument name needs to be all lower case primary_key=True .在您对carid列的定义中,您有一个大小写错误 - 参数名称必须全部为小写primary_key=True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 sqlalchemy.exc.ArgumentError: Mapper mapped class could notassemble any primary key columns for mapped table 'houses' - sqlalchemy.exc.ArgumentError: Mapper mapped class could not assemble any primary key columns for mapped table 'houses' sqlalchemy.exc.ArgumentError: Mapper mapped class could notassemble any primary key columns for mapped table'users' - sqlalchemy.exc.ArgumentError: Mapper mapped class could not assemble any primary key columns for mapped table 'users' ArgumentError:映射器映射类用户-&gt; 用户无法为映射表“用户”组装任何主键列 - ArgumentError: Mapper mapped class Users->users could not assemble any primary key columns for mapped table 'users' sqlalchemy.exc.ArgumentError - sqlalchemy.exc.ArgumentError 无法测试简单的 sqlalchemy model 数据类:“映射器映射的 class 无法组装映射表的任何主键列” - Cannot test simple sqlalchemy model dataclass: “Mapper mapped class could not assemble any primary key columns for mapped table” sqlalchemy.exc.ArgumentError:在映射 class Show-> 在此查询中显示时找不到名为“Show”的属性 - sqlalchemy.exc.ArgumentError: Can't find property named "Show" on mapped class Show->shows in this Query Mapper映射的类无法为映射表组装任何主键列 - Mapper mapped class could not assemble any primary key columns for mapped table 使用自动加载的Python和SQLAlchemy经典映射:映射器无法为映射表组装任何主键列 - Python and SQLAlchemy Classical Mapping using autoload: Mapper could not assemble any primary key columns for mapped table 为什么 SQLAlchemy 无法为映射表组装任何主键列? - Why SQLAlchemy could not assemble any primary key columns for mapped table? 映射器映射器|用户|用户无法为映射表“用户”组合任何主键列 - Mapper Mapper|User|users could not assemble any primary key columns for mapped table 'users'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM