小编Ayl*_*ake的帖子

为什么sqlalchemy的默认列值不起作用

我正在使用Postgresql 9.1和SQLAlchemy 0.9.

问题是,' default = 10 '不起作用.

我的代码:

conn_str = 'postgresql://test:pass@localhost/test'
engine = create_engine(conn_str)
metadata = MetaData(bind=engine)

cols=[]
cols += [Column('Name', VARCHAR(20), primary_key=True, nullable=False)]
cols += [Column('age', INT, default=10, nullable=False )]
Table('t1', metadata, *cols)
metadata.create_all(engine)
Run Code Online (Sandbox Code Playgroud)

PSQL:

test=> \dS t1
            Table "public.t1"
Column |         Type          | Modifiers
--------+-----------------------+-----------
Name   | character varying(20) | not null
age    | integer               | not null
Indexes:
    "t1_pkey" PRIMARY KEY, btree ("Name")
Run Code Online (Sandbox Code Playgroud)

我直接尝试使用SQL语句,它应该如下所示:

test=> \dS t2
              Table "public.t2"
 Column |         Type          | Modifiers
--------+-----------------------+------------
 Name …
Run Code Online (Sandbox Code Playgroud)

python postgresql

18
推荐指数
1
解决办法
1万
查看次数

python将字符串转换为参数列表

我可以在python中将字符串转换为参数列表吗?

def func(**args):
    for a in args:
        print a, args[a]

func(a=2, b=3)

# I want the following work like above code
s='a=2, b=3'
func(s)
Run Code Online (Sandbox Code Playgroud)

我知道:

list can,只需使用*list,但list不能有如下元素:a = 2

和eval只能评估表达式

这将是:

def func2(*args):
    for a in args:
        print a

list1=[1,2,3]
func2(*list1)
func2(*eval('1,2,3'))
Run Code Online (Sandbox Code Playgroud)

python eval

10
推荐指数
2
解决办法
9731
查看次数

在Sqlalchemy中按表类获取表名

我想将一个类传递给一个函数,并且不想再次传递该名称.

class TableClass(Base):
    __table__ = Table('t1', metadata, autoload=True)
def get_name(TableClass):
    print TableClass.GetTableName()  # print 't1'
get_name(TableClass)
Run Code Online (Sandbox Code Playgroud)

所以,我用谷歌搜索它,没有答案.

python sqlalchemy

8
推荐指数
3
解决办法
8662
查看次数

asm 在 linux/include/asm 中代表什么

howto_add_systemcall读取

“一般来说,与机器架构无关的系统调用和函数的头文件保存在 linux/include/linux/ 下,而机器架构相关的头文件保存在 linux/include/asm/”

那么 asm 在这里代表什么?

我搜索了维基,但没有找到答案。

linux

6
推荐指数
1
解决办法
7173
查看次数

QT5:无法在Windows中加载psql驱动程序

我想在Windows 7中加载qt5 psql驱动程序.

我以这种方式加载库:

qDebug() << QCoreApplication::libraryPaths ();
QString driverName = "QPSQL";
QSqlDatabase::addDatabase(driverName,"A connection to postgres");
Run Code Online (Sandbox Code Playgroud)

输出显示:

("C:/QT/Qt5.1.0/5.1.0/msvc2010/plugins", "D:/xxx/build-xxx-Desktop_Qt_5_1_0_MSVC2010_32bit-Release/release")
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
Run Code Online (Sandbox Code Playgroud)

在目录:中C:/QT/Qt5.1.0/5.1.0/msvc2010/plugins/,确实有sqldrivers子目录和qsqlpsql.dll, qsqlpsqld.dll, qsqlpsqld.pdb子目录.

我在ubuntu中成功加载psql库.

我的.pro文件主要是这样的:

QT += core gui sql concurrent

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

unix {
LIBS += -lpython2.7 
QMAKE_CXXFLAGS += -std=c++0x
}

win32 {   
LIBS += \
    C:/Python27/libs/python27.lib 
}
Run Code Online (Sandbox Code Playgroud)

我找不到它失败的原因.

我需要在.pro文件中添加libpqdll.lib吗?但我没有LIBS += -lpq在ubuntu中使用?

顺便说一句:我没能在Windows 7中使用visual studio 2010构建libpq.但这是另一个问题. …

windows postgresql qt

4
推荐指数
1
解决办法
5036
查看次数

代理存储库被阻止

我在Nexus中添加了一个代理存储库。当我update now进去时Routing,它失败了。我添加的回购网址是https://raw.githubusercontent.com/dianping/cat/mvn-repo 在此处输入图片说明

在此处输入图片说明

我可以访问该网址

https://raw.githubusercontent.com/dianping/cat/mvn-repo/org/unidal/maven/plugins/codegen/2.3.2/codegen-2.3.2.pom

我无法访问该网址

https://raw.githubusercontent.com/dianping/cat/mvn-repo

响应400:无效的请求


所以。这是来自更新的仓库服务器阻止关系。

如果我不在maven设置中使用mirror,则Maven更新将正常运行。

同时,当我使用nexus公共存储库组作为我的镜像时(我还在公共存储库组中添加了代理存储库),它只是报告 Failure to find org.unidal.maven.plugins:codegen-maven-plugin:jar:2.3.2 in http://172.xxx/nexus/content/groups/public

我怎么解决这个问题?

我想Maven解决流程是这样的:

  1. Maven解决依赖
  2. 在本地找到依赖项
  3. 在回购经理中找到
  4. 在代理仓库中找到。

https://raw.githubusercontent.com/dianping/cat/mvn-repo/org/unidal/maven/plugins/codegen/2.3.2/codegen-2.3.2.pom这样的完整URL 都可以访问,仓库管理器如果我的猜测是正确的,则可以获取特定的pom网址。

我想知道:与maven central不同,您可以访问其索引或称为文件树,而cat.repo您只能访问其文件,而不能访问其目录。那么Maven的区别是什么?如何处理呢?


编辑

因为我已经成功更新了不使用<mirrorOf>*</mirrorOf>。我的本地存储库已经在Nexus中下载了这些缺少的插件。因此,我按照Maven中不使用本地仓库的提示进行操作,并且丢失的插件不会再次导致错误,但是在链接中再次找不到另一个工件。

我也做过Maven缺少的工件显示,

删除本地内部的maven-metadata * .xml和_ *。repositories

还是行不通。

nexus maven

3
推荐指数
1
解决办法
4337
查看次数

java如何在属性中配置注释调度程序fixedDelay

@Scheduled(cron = "0 10 0 5 * ?")   
//@Scheduled(fixedDelay = 10000)
public void task() {
}
Run Code Online (Sandbox Code Playgroud)

有没有办法配置:

在测试环境中:预定选择fixedDelay = 10000

在产品环境中:预定选择 cron = "0 10 0 5 * ?"

这个注解语法糖filed=value在java中叫什么?

java spring annotations config

1
推荐指数
1
解决办法
1168
查看次数

标签 统计

python ×3

postgresql ×2

annotations ×1

config ×1

eval ×1

java ×1

linux ×1

maven ×1

nexus ×1

qt ×1

spring ×1

sqlalchemy ×1

windows ×1