- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用具有自动映射功能的 SQL Alchemy v(0.9.1)。这允许我自动创建类和关系。 http://docs.sqlalchemy.org/en/rel_0_9/orm/extensions/automap.html
我遇到的问题是,在使用 automap_base 时,我发现并非 metadata.tables 列表中可用的所有表都已映射。
准备时没有错误,只是在调用 automap_base() 后我无法从 Base 访问类(例如 Base.classes.Example_Table)
from sqlalchemy import create_engine, MetaData
from sqlalchemy.orm import create_session
from sqlalchemy.ext.automap import automap_base
engine = create_engine("mysql+mysqldb://")
Base = automap_base()
Base.prepare(engine, reflect = True)
session = create_session(bind = engine)
然后我运行发现元数据中的所有表都不存在类(我没有在元数据中使用 only = [] 参数)
for mappedclass in Base.classes:
print mappedclass
for mdtable in metadata.tables:
print mdtable
才发现Example_Table(用下面的create语法)没有类
CREATE TABLE `Example_Table` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`attributeType` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3290719 DEFAULT CHARSET=latin1
即Base.class.Example_Table 返回以下错误
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-15-94492ae1b8ba> in <module>()
7 type(metadata.tables)
8
----> 9 Base.classes.Example_Table
/usr/local/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyc in __getattr__(self, key)
172 return self._data[key]
173 except KeyError:
--> 174 raise AttributeError(key)
175
176 def __contains__(self, key):
AttributeError: Example_Table
我认为不会发生此问题,因为我的 Example_Table 名称中包含下划线。
我认为问题与我的 Example_Table 没有主键这一事实有关。 Example_Table 仅用于链接其他两个表。
最佳答案
通过梳理引用/重新构建问题来解决。
万一它对别人有帮助-
因为 SQLAlchemy ORM 基于身份映射模型,所以无法映射(或自动映射)没有主键的表。应指定任意主键。
关于python - SQLAlchemy Automap 不会为没有主键的表创建类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23765681/
我正在为类 A 使用 AutoMapper和 B .该项目是一个 .Net 核心项目 enabled . public class A { public ClassX? X { get; se
这是我遇到的错误 CookBook.Tests.CategoryRepository_Fixture.Can_update_category: FluentNHibernate.Cfg.FluentC
我有一个关于使用 PrimaryKeyNamingConvention 的问题 假设有以下类: public class banco { [Required] public virtu
我有一个与 SQLAlchemy 一起使用的预先存在的数据库,因此我使用 automap 从数据库中获取模型。向这些类添加方法的最佳方法是什么?例如,对于 User 类,我想添加验证密码等方法。另外,
我是 SQLAlchemy(通常是 ORM)的新手,我正在尝试将现有的应用程序转移到 SQLAlchemy,以便我们可以将一些代码复杂性从当前现有(并且更新乏味)查询转移到 Python。不幸的是,我
我正在使用具有自动映射功能的 SQL Alchemy v(0.9.1)。这允许我自动创建类和关系。 http://docs.sqlalchemy.org/en/rel_0_9/orm/extensio
鉴于以下类(class): public class Address : Place { public virtual string Street { get; set; } publ
我是 Fluent 的初学者,我遇到了一个问题,这可能是我自己的错。 我有一个包含 3 个类的命名空间。实体、实体版本和属性。类之间不涉及继承。 我尝试只映射 Entity 类,但实际情况是命名空间中
我正在使用 fluent nhibernate 来映射以下模型: public abstract class BasePermission : Entity { public abstract
我正在尝试 Fluent NHibernate 的自动映射功能,当我尝试移动时,构建 SessionFactory 时使用显式 ClassMap 配置的相同代码失败它自动映射。 代码如下: publi
NHibernate 似乎不能自动映射一个实体中给定类型的多个 IList。 考虑以下两个实体(基于 Fluent NHibernate 源代码中包含的 Examples.FirstProject 示
我在使用 CultureInfo 属性自动映射实体时遇到问题,当我尝试构建 SessionFactory 时,它抛出异常并出现以下错误:“来自表 ExampleClass 的关联引用了一个未映射的类:
我有两张 table ,地点和设施 他们映射到两个类, public Location : Entity { //properties } public Facility : Entity {
我是 NHibernate 和流利的 nhibernate 新手。我在唯一约束和 nhibernate 映射方面遇到了一些问题。 我有领域模型的以下部分。 public class Batch {
当数据对象模型发生变化(向类添加新属性)时,流畅的自动映射是否有一种方法可以改变模式,目前它只会删除并重新创建数据库模式,这将丢失数据库中的所有数据.它可以使用 Alter table 而不是 dro
给定以下模型: using NetTopologySuite.Geometries; public class bounding_box { public virtual int id { g
我也是 NHibernate 和 FNH 的新手。我熟悉 ORM,并决定看看所有关于这个特定 ORM 的讨论主要是因为生产力的提高。在这一点上,我认为我的时间最好花在其他东西上,但我不想让它打败我,我
我需要做的是我的抽象页面类的自动映射子类。我需要在我获得运行时(在初始化阶段)的程序集列表中找到它们。我没有对我的映射程序集中的程序集的任何引用。 我的页面类看起来像这样: public abstra
有人可以帮忙吗,我如何指示 automap 为 not-null 一个专栏? public class Paper : Entity { public Paper() { }
如果使用 Fluent NHibernate,是否可以自动映射大多数类,但指定应该使用常规 fluent API 映射几个特定类而不是自动映射?如果是这样,任何人都可以指点我一些示例代码来展示如何做到
我是一名优秀的程序员,十分优秀!