我用Python制作了一个游戏服务器,它使用psycopg2连接到PostgreSQL数据库.我见过一些例子,我已经看到,当创建与数据库的连接时,应该在完成查询时关闭连接,例如对于每个客户端:
#create connection to db
con = psycopg2.connect (database = 'testdb', user = 'janbodnar')
cur = con.cursor ()
#process query
.
.
.
#close connection
con.close ()
Run Code Online (Sandbox Code Playgroud)
好的,当我启动我的服务器时,我有这个:
在我的课堂里
def __init __ (self):
#create connection to db
con = psycopg2.connect (database = 'testdb', user = 'janbodnar')
cur = con.cursor ()
# to all customers ...
def query(self):
#process query, for example ...
cur.execute ("DROP TABLE IF EXISTS Cars")
#the connection never closes
Run Code Online (Sandbox Code Playgroud)
也就是说,我对所有客户的所有查询使用相同的连接对象,并且从不关闭连接,这看起来比打开和关闭每个客户端的连接更好,我的服务器显然运行良好.你想到这个吗?这样做得好吗?不要做?谢谢
我正在尝试对现有列进行检查约束.
有什么办法可以从PostgreSQL实现这个目的吗?
尝试将一堆 csv 上传到数据库。csv 不一定总是用逗号分隔,因此我使用正则表达式来确保使用正确的分隔符。然后我添加了
error_bad_lines=False
Run Code Online (Sandbox Code Playgroud)
为了处理 CParserError:错误标记数据。C 错误:第 127 行中预期有 3 个字段,但看到了 4 个字段,这导致我收到此错误
ValueError: Falling back to the 'python' engine because the 'c' engine does not support regex separators, but this causes 'error_bad_lines' to be ignored as it is not supported by the 'python' engine.
Run Code Online (Sandbox Code Playgroud)
对于以下代码
有解决方法吗?
import psycopg2
import pandas as pd
import sqlalchemy as sa
csvList = []
tableList = []
filenames = find_csv_filenames(directory)
for name in filenames:
lhs, rhs = str(name).split(".", 1)
print name
dataRaw = …Run Code Online (Sandbox Code Playgroud) 一般性问题.我正在为Sybase SQL Anywhere 10开发.出于向后兼容性原因,几乎所有存储过程都是用Transact-SQL编写的.使用T-SQL而不是Watcom方言有什么优点或缺点吗?
以前,我使用了这个查询,速度很快:
cb=# explain analyze SELECT "web_route"."id", "web_crag"."id" FROM "web_route"
INNER JOIN "web_crag" ON ( "web_route"."crag_id" = "web_crag"."id" )
WHERE "web_crag"."type" IN (1, 2)
ORDER BY "web_crag"."name" ASC
LIMIT 20;
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..2.16 rows=20 width=18) (actual time=0.027..0.105 rows=20 loops=1)
-> Nested Loop (cost=0.00..47088.94 rows=436055 width=18) (actual time=0.026..0.100 rows=20 loops=1)
-> Index Scan using web_crag_name on web_crag (cost=0.00..503.16 rows=1776 width=14) (actual time=0.011..0.020 rows=14 loops=1)
Filter: (type = ANY ('{1,2}'::integer[]))
-> Index Scan using web_route_crag_id on web_route (cost=0.00..23.27 rows=296 width=8) (actual …Run Code Online (Sandbox Code Playgroud) 跑步时
ALTER TABLE my_table modify column my_column int(10) NOT NULL DEFAULT 0;
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int(10) NOT NULL DEFAULT 0' at line 1.
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
按照翻译 URL 模式,我可以使我的 URL 以活动语言为前缀,但无法翻译它们。
urls.py
from django.conf.urls import include, url
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import ugettext_lazy as _
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings
from exercises.views import ExerciseListView
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
]
urlpatterns += i18n_patterns(
...
url(_(r'^exercises/$'), ExerciseListView.as_view(), name='list'),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)
语言环境/es/LC_MESSAGES/django.po
#: myproject/urls.py:54
msgid "^exercises/$"
msgstr "^ejercicios/$"
Run Code Online (Sandbox Code Playgroud)
管理.py shell
>>> from django.core.urlresolvers import reverse
>>> from django.utils.translation import activate
>>> activate('en')
>>> reverse('list')
'/en/exercises/' …Run Code Online (Sandbox Code Playgroud) 我在MySQL中有一个包含这些数据的表
我希望regex在列row1中获得带"1"的行.我该怎么办?
([^,]1/)
Run Code Online (Sandbox Code Playgroud)
我使用这个正则表达式但它只返回第一个逗号中带"1"的行
使用Polymorphic和其他插件玩一下我想知道如何防止某些基类字段显示在子管理界面的表单内部.为我的子类创建此adminy.py:
from django.contrib import admin
from .models import *
from partsmanagement.models import Part
from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin
admin.site.register(Book)
class BookAdmin(PolymorphicChildModelAdmin):
base_model = Part
Run Code Online (Sandbox Code Playgroud)
以及基本模型的admin.py:
# -*- coding: utf-8 -*-
from django.contrib import admin
from .models import *
from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin
from bookcollection.models import Book
from bookcollection.admin import BookAdmin
admin.site.register(Part)
class PartAdmin(PolymorphicParentModelAdmin):
base_model = 'Part'
child_models = (
(Book, BookAdmin),
)
Run Code Online (Sandbox Code Playgroud)
现在,admin中的表单显示了base和child类的所有文件.我试图为子类添加exclude = list()但这不起作用(没有更改).
我希望使用Pushgateway将多标签指标推入Prometheus.文档提供了一个curl示例,但我需要通过Python发送它.另外,我想在指标中嵌入多个标签.
python ×5
django ×2
mysql ×2
postgresql ×2
regex ×2
sql ×2
database ×1
django-i18n ×1
optimization ×1
pandas ×1
prometheus ×1
sqlanywhere ×1