我试图从sqlalchemy的sqlite db中选择所有记录,遍历每个记录并对其进行更新.我这样做是因为我需要在我的名字栏中重新格式化记录.
这是我用来做一个简单测试的代码:
def loadDb(name):
sqlite3.connect(name)
engine = create_engine('sqlite:///'+dbPath(), echo=False)
metadata = MetaData(bind=engine)
return metadata
db = database("dealers.db")
metadata = db.loadDb()
dealers = Table('dealers', metadata, autoload=True)
dealer = dealers.select().order_by(asc(dealers.c.id)).execute()
for d in dealer:
u = dealers.update(dealers.c.id==d.id)
u.execute(name="hi")
break
Run Code Online (Sandbox Code Playgroud)
我收到错误:
sqlalchemy.exc.OperationalError: (OperationalError) database table is locked u'UPDATE dealers SET name=? WHERE dealers.id = ?' ('hi', 1)
Run Code Online (Sandbox Code Playgroud)
我很新的SQLAlchemy的,我不知道这是什么错误意味着或如何解决它.这似乎应该是一个非常简单的任务,所以我知道我做错了什么.
我正在用PHP编写我的第一个基本的裸骨MVC模式设置.我知道全局变量很糟糕,我知道我不希望我的所有类都能访问我的所有配置变量.
我有一个settings.php文件,我想在其中定义一堆常量,如我的数据库连接信息,目录结构信息,电子邮件地址等.它将是一个集中的位置,可以保存我的所有重要信息.
实现配置类的最佳方法是什么,以便我的控制器和模型的每个基类只能访问他们需要的配置变量?例如,我的模型基类应该可以访问db连接信息.
基本上我只是问整个人如何在不声明全局变量的情况下完成他们自己的MVC设置处理配置信息,就像我们过去在程序时代所做的那样.
谢谢.
鉴于开始日期,我如何确定Python的"工作周"数量?我不能只是除以7,因为这不会给我正确的答案.
一个例子是2012年8月1日到当前日期(2012年8月13日)的开始日期将输出3周.
我基本上试图从足球赛季开始就弄明白,本周(整数)是什么.
我已经尝试过使用Pythons datetime模块,但它无济于事.
我需要一个django形式的正则表达式字段,只接受字母和数字,而不是别的.我试过这个,但它不起作用:
myfield = forms.RegexField(label=("My Label"), max_length=31, regex=r'[a-zA-Z0-9]',
error_message = ("This value must contain only letters and numbers."),
Run Code Online (Sandbox Code Playgroud)
我不擅长使用正则表达式.你能告诉我这里我做错了什么以及如何解决它?
我在yepnope的主页上直接使用了代码:
yepnope([{
load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js',
complete: function() {
console.log('made it');
if(!window.jQuery) { yepnope('/js/jquery.1.5.2-min.js'); }
}
}]);
Run Code Online (Sandbox Code Playgroud)
我今天一直在没有上网工作,我注意到我的本地版本的jQuery没有被加载.
由于我没有连接到互联网,我认为在上面的例子中,谷歌CDN版本将无法加载,complete
将调用该函数来加载我的本地副本.它看起来complete
根本没有被调用,因为我没有在控制台中看到"制造它".
此外,我检查了本地副本的路径是正确的.
我有一个具有日期属性的 Item 对象列表。我还有一个从数据库中获取的单个日期。
我想搜索列表,找到大于我从数据库返回的日期的所有列表项。
我的 Items 对象列表中有超过一千个对象,因此我希望尽可能高效。
我认为循环遍历列表中的每个项目并检查它是否大于我从数据库返回的日期并不是最有效的方法。
class Item(object):
def __init__(self, title, link, description, date):
self.title = title
self.link = link
self.description = description
self.date = date
item_list = []
...
#assume I populate the list with a 1,000 Item objects
filtered_list = []
for it in item_list:
if date_from_db > it.date:
filtered_list.append(it)
Run Code Online (Sandbox Code Playgroud) 我在用
import base64
string_for_url = base64.urlsafe_b64encode(string_to_format)
Run Code Online (Sandbox Code Playgroud)
但我不确定如何匹配url模式中生成的字符串.我找到了这个正则表达式:(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
但是我不明白如何将它转换为命名组.你可以告诉我的正则表达式知识非常有限.
在此先感谢您的帮助.
我有一个json数组的对象看起来像这样:{id:'the id', name:'the name'};
我需要循环遍历数组并按名称属性按字母顺序对每个对象进行分组.有没有办法在不使用带有每个字母的switch/if语句的情况下执行此操作?
我不想做的是这样的事情:
if(data[i].name..slice(0, 1) == 'a') {
...
}
Run Code Online (Sandbox Code Playgroud)
它是一个大型数组,其中包含近1,000个对象.我的目标是最终将他们添加到潜水中,所以它看起来像这样: