问题标签 [python-elixir]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1126 浏览

python - 将 Flask 与 Elixir 和 SQL 炼金术一起使用

我正在尝试将 Elixir 与 Flask 一起使用。直接使用 SQL Alchemy 的原因让我对多对多关系上的数据插入感到困惑。所以我创建了模型文件并生成了我需要的表。

对于 SQl 炼金术,我从烧瓶中调用如下:

如何为 Elixir 做同样的事情?我在实体上有一个 get_or_init 的模型方法,所以我也在尝试使用它。

当我尝试使用 SQLAlchemy 本身时(因为 elixir 只是包装器),我得到:

0 投票
2 回答
859 浏览

python - Python Camelot 是否与 Elixir 相关联?

Camelot的文档说它使用Elixir模型。由于 SQLAlchemy 已经包含 declarative_base 有一段时间了,所以我在另一个应用程序中使用它而不是 Elixir。现在我想直接在 Camelot 中使用 SQLAlchemy/声明性模型。

Stackoverflow 上有一篇文章说 Camelot与 Elixir无关,并且可以使用不同的模型,但没有说明如何。

Camelot的原版model.py只有这样的内容:

我添加了我的 SQLAlchemy 模型并更改model.py为:

它没有用。当我开始时main.py,我可以看到 GUI 和Test边栏中,但看不到任何行。这是回溯的尾部:

这是第elixir_admin.py46-52 行的代码:

如果此代码导致问题,我如何覆盖更改默认查询以使其工作的方法?

如何在 Camelot 中使用 SQLAlchemy/声明性模型?

0 投票
0 回答
386 浏览

sql - 现有数据库上关系的 SQLAlchemy/Elixir 语法

mysql+pyodbc我正在尝试使用 Elixir 构建 Python 模型,该模型表示通过连接字符串连接的现有 MySQL 数据库中的表。Elixir 毫不费力地反映了列结构,但似乎无法反映关系,所以现在我正在尝试指定这些关系。我对语法很感兴趣,无论是声明式的还是 DSL 的形式。

例如,我在使用以下 SQL 语句创建的两个表(一对一)之间建立了外键关系:

在这两个表中,person_id是主键。阅读文档后我的感觉(不幸的是,它主要关注自动创建的数据库,而不是连接到现有的数据库)是约束名称/索引可能是问题所在。

我正在尝试使用OneToOneorhas_one关系来模拟第一个约束,并使用ManyToOneor关系来模拟第二个约束belongs_to。在我尝试过的每种情况下,我都会遇到错误,包括使用primaryjoin关键字参数的说明,但这也无济于事。

相关地,我在数据库上使用以下 SQL 代码定义了与OneToManyor关系类似的情况:has_many

这里,person_id是表的主键person,而不是表的主键person_by_age。这个约束在 Elixir 中给出了与上述类似的错误。

有没有人这样做过?如何指定这些关系以使用数据库中已有的外键约束和索引?

任何帮助表示赞赏!

0 投票
1 回答
1755 浏览

python - SQLAlchemy 声明式扩展与 elixir

我计划在我的一个项目中使用 SQLAlchemy,我对表的声明性语法非常感兴趣。

有人告诉我为此使用Elixir 声明层,同时 SQLAlchemy 有其内置的声明性扩展

Elixir 和声明式扩展之间的当前区别是什么?优点缺点?

0 投票
1 回答
300 浏览

python - 具有具体继承的基础实体

我想要一个带有deleted标记已删除记录的字段的基本实体。我有 2 个子类,每个子类都有自己的表和所有自己的列:

结果:

问题:

  1. 如何避免为基础实体创建表?- 解决了:using_options(abstract = True)
  2. 为什么字段deleted不在创建的表中?- 这解决了 - 我忘了把它放在里面Field
  3. 我想避免输入每个子类using_options(inheritance='concrete'),但仍然有“具体继承”。有没有办法让它默认所有子类?
0 投票
1 回答
1443 浏览

python - 使用 SQLAlchemy 和 Elixir 的 MySQL 标识符(表名、列名)的长度限制

我将 SQLAlchemy 与 Elixir 一起使用,使用 SQLite 一切正常。但是,当我切换到 MySQL 时,有一个表名和列名长度限制(64 个字符)。我有很多具有多个 ManyToMany 关系的实体,但我没有找到一种方法来像MyFirstEntity_rel_otherEntities__MySecondEntity_rel_theFirstEntities自动方式那样钳制生成的长表名称。

ManyToOne 关系的外键列名称太长,具体取决于类和关系名称。create_engine("...", label_length = 64)没有做到这一点,我已经用它shortcolumns = True来避免将整个 Python 模块名称也用作前缀。

我看到的唯一方法是遍历整个架构并手动定义表名(对于多对多关系)和列名(对于多对一关系)。还有其他选择吗?

0 投票
1 回答
58 浏览

properties - 是否可以用额外的属性标记 elixir/sqlalchemy 字段/列?

我想将我的实体中的某些列标记为可搜索——理想情况下,以一种干净的方式,以每列为基础。是否可以“标记”或向类中的列定义添加属性?在代码的其他地方,我希望能够选择可在任何实体上搜索的列,而无需知道它具体是什么类。

例如:

显然上面的例子不起作用——但有没有办法做到这一点?我不是这方面的专家,几天的搜索/文档拖网显示没有任何帮助。

0 投票
1 回答
217 浏览

python - UnitTest:不能添加多对多关系:完整性错误(似乎删除不做他的工作)

我有两张桌子:Person & Team;每个都与另一个具有多对多关系。

我在setUp函数中执行此操作(在每个测试函数之前调用,在我的情况下为 3 次)

还有我的tearDown函数(在每个测试函数之后调用)

第一次测试通过,但是当setUp第二次被调用时,我得到了这个: IntegrityError: (IntegrityError) columns person_id, team_id are not unique u'INSERT INTO team_persons__person_teams (person_id, team_id) VALUES (?, ?)' (5, 1)

似乎 delete 第一次并没有真正删除行。我不明白为什么会这样。

0 投票
1 回答
87 浏览

python - 使用 Elixir 创建生成式搜索

我一直在使用 Elixir,而且我目前有一种非常混乱的方式来搜索我想改进的数据库。该文档提供了有关如何进行基本生成搜索的见解,但我需要逐步完成许多不同的类,我更喜欢使用 Elixir 而不是自己浏览列表。

这是一个例子:

在这个例子中,我想找到所有的学生:

  1. 2008 年后注册
  2. 来自加利福尼亚
  3. 以“电子游戏”为爱好

我想应该有办法让我去:

目前我正在将它们放入列表并寻找一组。

0 投票
4 回答
3603 浏览

python - 无法初始化 Elixir

我从 Elixir 和 SQL Alchemy 开始。我已经创建了一个与 Mysql 数据库连接的 python 文件,但是一旦我使用 python 执行,我就会收到以下错误:

我一直在寻找它,但我找不到原因。这是 yonki.py 文件:

我认为这可能是由于未安装所需的模块,但我不知道是哪一个。