我使用的是上面提到的版本的小马和蟒蛇。我试图通过引用来插入
承诺()
给出以下错误:
类型错误:不可引用的类型:“列表”
这是因为:
obj2 = cache_index.setdefault(new_id, obj) in _save_created_
这是我的守则:
from pony.orm import Database
from pony.orm import db_session
from pony.orm import commit
from pony.orm import Required
from pony.orm import show
from pony
我又需要帮助。有人能告诉我为什么我会犯这个错误吗?我使用的是水瓶、小马、orm和python3.4。我几乎没有文件。
users.py
from app import models
from pony.orm import *
class UsersAPI:
@staticmethod
@db_session
def is_registered(e_mail):
"""
This method for checking registered user or not
:param e_mail:
函数generate_mapping给出错误。我在两个模块中分别描述了模型。 我有一个模型: # ./message/models.py
from pony import orm
from datetime import datetime
from db import db
model_names = ['Message', ]
class Message(db.Entity):
id = orm.PrimaryKey(int, auto=True)
time = orm.Required(datetime)
text = orm.Require
在Pony ORM上指定我的表时出现此错误。
File "business.py", line 79, in <module>
db.generate_mapping()
File "<string>", line 2, in generate_mapping
File "/home/ancinedev/.pyenv/versions/3.6.1/lib/python3.6/site-packages/pony/utils/utils.py", line 58, in cut_traceback
代码非常简单,如下所示:
from pony.orm import Required, Set, Optional, PrimaryKey
from pony.orm import Database, db_session
import time
db = Database('mysql', host="localhost", port=3306, user="root",
passwd="123456", db="learn_pony")
class TryUp
我正在尝试使用Pony ORM将数据插入到postgresql数据库中,但是当我尝试使用db.Entity类构造对象时,我总是收到TypeError: Unknown attribute 'name'
有问题的类如下所示:
class Diet(db.Entity):
name: Required(str)
category: Set('Category')
这是创建类的位置:
for d in data.category.diet:
print(d)
diets.append(
D
我目前正在用Python中的Chalice为AWS开发一个API,它使用Pony来处理我们的数据库。当尝试使用像这个db.select(s.start_time for s in db.Session)这样的选择进行查询时,我会得到‘预期的字符串或类似字节的对象’错误(下面是完整的堆栈跟踪)。然而,使用像这个db.Session.select(lambda s: s.id = 3)这样的lambda进行查询会像预期的那样工作。我不知道是什么导致了它,有人猜测在生成db.Provider部分时可能不喜欢它,但我不知道Pony在那里期望什么。我试过用pdb进行调试,但我不知道它告诉了我什么。
堆栈
我正在尝试学习并使用PonyOrm和Flask构建小应用程序。为此,我从复制了示例应用程序。但我仍然得到相同的错误:
pony.orm.core.ERDiagramError: Mapping is not generated for entity 'User'
我一直在谷歌和Pony文档中寻找答案,但都无济于事。
如何将子查询用于查询,如
SELECT *
FROM child_table
WHERE child_table.masterno IN (SELECT masterno
FROM mastertable
WHERE mastertable.recorddate > SYSDATE -1)
换句话。我想做些像
master_result = target_model.mastertable.select()\
.filter(lambda mt: mt.record
使用pony orm时,如果主键是组合键,并且其中一个键包含postgresql标识列,则pony ORM将显示错误 我有充分的理由使用组合键作为主键,而不仅仅是标识列,而且它必须是组合键 错误 None type Object not iterable
If obj._pk_is_composite_: pairs = izip(pk_attrs, pkval) MOdel id = Required(int, auto=True)
clubname = Required(str)
PrimaryKey(clubname,id) 表格 id integer NOT NULL GENERA
我正在学习使用Pony ORM,有了这个MWE... from pony import orm
db = orm.Database()
class Test(db.Entity):
label = orm.Required(str)
db.bind(provider='sqlite',filename=':memory:')
db.generate_mapping(create_tables=True)
with orm.db_session:
Test(label='text02')
Test(label='t
我试图比较PonyORM实体实例的标识/平等。考虑使用estore示例数据库的下列代码:
from pony.orm import *
from pony.orm.examples.estore import *
# Test 1
with db_session:
a = Customer[1]
b = Customer[1]
print(a is b, a == b) # True True
# Test 2
with db_session:
a = Customer[1]
with db_session:
b = Customer[1]
print
我想用pony orm测试一下桌子是不是空的。
首先,我连接到数据库并说生成映射。我在这里使用'Names‘表作为示例,并连接到postgres数据库
from pony.orm import *
class Names(db.Entity):
name = Required(str)
@db_session
def populate_names(name_list):
for name_element in name_list:
db.insert("Names", name=name_element)
@db_session
假设我这里有一个简单的小马ORM地图。内置Enum类是Python3.4中的新版本,支持2.7。
from enum import Enum
from pony.orm import Database, Required
class State(Enum):
ready = 0
running = 1
errored = 2
if __name__ == '__main__':
db = Database('sqlite', ':memory:', create_db=True)
class St
pony.orm.core.TransactionError: An attempt to mix objects belonging to different transactions
我知道这个错误是描述性的,我只是不明白为什么会这样。我搜索了谷歌,文档,其他的SO帖子,什么也没找到。
有什么想法吗?
我需要更改实体中主键的原始值,但是我无法这样做。例如:
#!/usr/bin/env python3
# vim: set fileencoding=utf-8
from pony import orm
db = orm.Database("sqlite", ":memory:", create_db=True)
class Car(db.Entity):
number = orm.PrimaryKey(str, 12)
owner = orm.Required("Owner")
class Owner(db.Enti
我运行以下代码,在Python3.8.5中使用where条件更新记录
from pony.orm import *
customer = update(c.set(CustomerCode = '123') for c in Customers if c.CustomerCode == '456')
但是,我得到的NameError如下。
NameError: name 'update' is not defined
有什么想法吗?
寻求任何帮助
我有动态条件的查询,即
select (lambda obj:obj.A = 'a' and obj.B = 'b' and ...)
因此,我编写了以下代码:
def search(self,**kwargs):
q = unicode('lambda obj:', 'utf-8')
for field,value in kwargs.iteritems():
value = unicode(value, 'utf-8')
field =
我最近开始使用Pony ORM,我认为它很棒。尽管api在官方网站上有很好的文档记录,但我在处理关系方面遇到了困难。特别是,我想插入一个新的实体,它是集合的一部分。然而,我似乎找不到一种方法来创建实体,而不是先获取相关对象: post = Post(
#author = author_id, # Python complains about author's type, which is int and should be User
author = User[author_id], # This works, but as I understand it actua
我开始使用一个现有的数据库,在这个数据库中,表A的属性foo与多个其他表B.foo和C.foo相关。如何在ponyorm中形成这种关系? 数据库的组织方式如下。 from pony import orm
db = orm.Database()
class POI(db.Entity):
'''Point of interest on a map'''
name = orm.PrimaryKey(str)
coordinateID = orm.Optional(('cartesian', 'pol
我有以下查询,其中包含一个公用表表达式: WITH example AS (
SELECT unnest(ARRAY['foo', 'bar', 'baz']) as col
)
SELECT *
FROM example 尝试在database.select(query)中使用它会抛出pony.orm.dbapiprovider.ProgrammingError: syntax error at or near "WITH",而database.select(raw_sql(query))会抛出TypeError: e
如何使用创建表定义的实例而不将行插入相应的表。
例如,我想要的是:
from pony import orm
from pony.orm import Required
db = orm.Database()
class User(db.Entity):
name = Required(str)
address = Optional(str)
db.bind(provider='sqlite', filename=':memory:')
db.generate_mapping(create_tables=True)
bob = User(na