0

DB のテーブルからすべてのレコードを削除し、Python スクリプトを実行するたびに再入力したいと考えています。

あなたがdjangoクエリセットを作成したときに私が知っている限り、それはまだDBで起動されていないクエリセットであり、このクエリセットは、len()などの関数を呼び出すか、関数が終了したときにのみ起動されます(DBで実行されます)。

obj = table.objects.filter(name="abc")

len(obj)

私の質問は

table.objects.all().delete()

django は.delete()、関数が終了するのを検出または待機するとすぐに DB でクエリを実行しますか?

4

1 に答える 1

0

autocommitの場合True(デフォルト)、delete()直接発火します。

transactionに関して、django 1.6 にはいくつかの大きな変更があることに注意してください。

于 2013-09-06T06:20:16.467 に答える