1

この ( http://djangosnippets.org/snippets/926/ ) スニペットによると、ハンドルで接続が閉じられました。しかし、それは一種の古いコードです。

django 1.4では、接続を閉じる必要がありますか? django コードを調べましたが、接続を閉じるコードが見つかりません。

ジャンゴが接続を閉じる場合、それはどこですか?

ありがとうございました。

4

2 に答える 2

1

スニペットが述べたように:

# Close the DB connection. This is required as a workaround for an
# edge case in MySQL: if the same connection is used to
# create tables, load data, and query, the query can return
# incorrect results. 

ジャンゴ より:

So, yes, if you do something to deliberately create lots of connections, 
lot of connections will be created. However, Django closes its connection to the 
database at the end of each request/response cycle, so there is only one connection 
in operation per thread or process handling requests and responses. If you're not 
using the HTTP layer, it's still only one connection per thread of execution and 
you are in complete control of the number of threads you create.

https://code.djangoproject.com/ticket/9878

于 2013-03-18T02:46:36.010 に答える
0

最初の免責事項: 私は専門家ではありません (専門家とはかけ離れています)。

とにかく、参照するスニペットは2つのチケットを参照しています.Djangoチケットは、接続を閉じることがフィクスチャをロードするためのコードに含まれていることを示唆しています( django/core/management/commands/loaddata.pyの55-60行目を参照)。MySQLチケットは、彼らの側では何も大きく変わっていないことを示唆しています。

とにかく、それはあなたがやろうとしていること次第だと思います。そして最も重要なことは、「接続のクローズ」の修正は MySQL だけのもののようです。他の DB を使用している場合、スニペットのコメントで示唆されているバグは発生しないはずです。

于 2013-03-18T01:03:35.373 に答える