問題タブ [django-postgresql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 内部エラーをデバッグする方法現在のトランザクションは中止され、コマンドはトランザクションブロックの終わりまで無視されますか?
このエラーが発生していますcurrent transaction is aborted, commands ignored until end of transaction block
。トレースバックが長すぎるため、エラーの原因と思われる行を出力しています。
そして、ここにエラーが生成されている場所の一部(かなり長い)があります
今、私を最も混乱させているのは、これが sqlite では問題なく機能していたのに、postgresql に切り替えたときにこのエラーが発生したことです。
私はここ ( DatabaseError: current transaction is aborted, Commands ignored until end of transaction block ) と here ( Django+Postgres: "current transaction is aborted, Commands ignored until end of transaction block" ) を見ましたが、無駄ではありません。このバグをつぶす方法を教えてください。
編集:周りを見回した後、使用しているライブラリが原因でエラーが発生し、postgres でテストされていないことに気付きました。
django - 必要に応じて計算された集計値からデータベースに保持されている集計値への Django/South/PostgreSQL 移行を行う正しい方法は何ですか?
私のDjangoアプリにはユーザーモデルがあり、それらのユーザーには多くのトランザクションがあります。一部のビューでは、すべての取引金額の概要 (合計) が表示されます。これを「合計」と呼びましょう。これまでのところ、これは表示のために必要に応じて集計されています。
さて、この集計を基本的にユーザーが表示するすべてのページに追加したいと思います...したがって、新しいトランザクションごとに維持されるDB /モデルフィールドから取得することをお勧めします。私はそれを行う方法を知っています: User モデルに「合計」フィールドを追加し、必要に応じて更新します (Django ORM F() 式を使用して人種耐性を高めます)。ここまでは順調ですね。
私の質問は、初期の「合計」値の設定、これまでのすべてのトランザクションの追跡に関するものです (running-tally が実装される前)。
新しいトランザクションが到着しないメンテナンスウィンドウ中に、すべての User.total 値を現在の集計に初期化するデータ移行を実行できると思います。しかし、私はそれをしたくありません。私が最後に行った同様のビッグ データ移行では、予想よりも時間がかかりました。
新しいトランザクションも到着している間に、長い停止なしでキャッチアップの集計を行うための推奨される手法/トリックはありますか?
集計を維持する新しいコードがデプロイされた時点で、しきい値の日付 (または ID) より前のトランザクションのみを考慮するキャッチアップ データ移行を記述できると思います。(その後、システムが稼働している間にデータ移行を実行し、移行にどれだけ時間がかかっても、移行が完了したときにのみインターフェイスに新しい集計を表示します。)しかし、私はむしろこの日付/をコーディングしたくありませんid しきい値を移行ソース コードに追加します。この目的で使用できる南部のメタデータはありますか?
python - PostgreSQL データベースでの syncdb --migrate の失敗。循環依存
コマンドを使用して Django データベースの空のコピーを作成しようとしています
データベースが sqlite3 データベースの場合は問題なく動作しますが、postgres データベースの場合は失敗します。
postgres を使用すると、通常の Django syncdb によるテーブルの作成はうまくいきますが、移行部分は失敗します。アプリの 1 つには別のアプリのテーブルへの参照があり、もう 1 つのアプリには最初のアプリのテーブルへの参照があります。
Postgres 9.1 dbでDjango 1.4、South 0.7.6、psycopg2 2.4.1を実行しています。問題は、South 0.8、0.8.1、および Psychopg2 2.5 と同じです。
python - トランザクションを使用したdjangoデータベースルーティング
1 つのアプリケーションで複数のデータベースを使用する Django ドキュメントの例を参照すると、
https://docs.djangoproject.com/en/dev/topics/db/multi-db/#an-example
" また、トランザクションとデータベース利用戦略との相互作用も考慮していません。"
上記のやり取りをどのように処理しますか。
シナリオは次のとおりです。
データベースとしてpostgresqlを使用しています。レプリカをセットアップしましたが、「認証」テーブルへのすべての読み取りをレプリカに送信したいと考えています。ドキュメントに従って、データベースルーターを作成しました。アプリケーションにログインしようとすると、次のエラーがスローされます。
これは、Django が「last_login」時間を節約しようとしたときに発生します。同じビューで、最初にレプリカからレコードをフェッチし、次に last_login 時刻を更新しようとするためです。1 つのトランザクションで発生するため、同じデータベース、つまりレプリカが使用されます。
どうすればこれを処理できますか?
考え?
django - South が Tastypie API キー テーブルの移行を実行できませんでした
データベースの移行を実行して、tastypie と south を介して API キー認証に必要なテーブルを作成しようとしています。これには、実行する必要がありますpython manage.py migrate tastypie
。出力は次のとおりです。
カスタム ユーザー モデル を実装しましたが、CustomUser(AbstractBaseUser)
この時点では問題なく機能しています。そのメタ クラスで、私は設定しましdb_table = "custom_user"
た。
問題は、サウスがテーブルの私の名前を認識せず、代わりにデフォルトの命名スキームを使用していることです。失敗したクエリの関係を「nox_customuser」から「custom_user」に変更すると、すべてが期待どおりに機能するはずです。
南を使用してその修正を行うにはどうすればよいですか?
django - Django で CSV ファイルを読み取り、DB Postgresql に書き込みます
CSV ファイルを読み取り、値を解析して、特定のデータベース テーブルに出力するにはどうすればよいですか?
それが基本的な問題です。
これが私がやろうとしていることの「全体像」です:
複数のCSVファイルから(毎分)読み取るか、または常に更新されるCSVファイル(更新ごとに追加の行エントリを含む)から毎分読み取ろうとしています。
python - postgreSQL が外部キーを見つけられない理由
作成したばかりのキーを参照するレコードを作成するときに、django が「外部キーの欠落エラー」を報告するのはなぜですか?
このコードを見てください:
doRegister ビューは、realm.save() で例外を発生させます。
翻訳できるもの"the key (user_id)=(8) can't be found in table myapp_user"
しかし、id=8 の User のレコードは存在します
注: また、id=8 はここで再利用されています。その後削除された以前のレコードに対して既に指定されています。
編集
django 管理者でさえ、このユーザーを参照する Realm レコードを追加できません。しかし奇妙なことに、リサイクルされていない古いレコード (id=1) は問題ありません。
一部の人々が同様の問題(重複キー)を経験しているため、リサイクルに関連している可能性があると思われます:http://www.vlent.nl/weblog/2011/05/06/integrityerror-duplicate-key-value-violates-unique-制約/またはIntegrityErrorの重複キー値が一意の制約に違反しています - django/postgres
以下の表について詳しく説明しました
これは、manage.py sql コマンドの出力です。
pgadmin からのテーブルのシリアル化は次のとおりです。
django - Django クエリが非常に遅い
Django アプリケーションに問題があります。モデルScopeのクエリは非常に遅く、デバッグを行った後でも問題がどこにあるのかわかりません。
データベースにクエリを実行すると、scope = Scope.objects.get(pk='Esoterik I')
5〜10秒かかります。データベースには 10 個未満のエントリと主キーのインデックスがあるため、遅すぎます。データベースで同等のクエリを実行すると、SELECT * FROM scope WHERE title='Esoterik I';
すべて問題なく、約50ミリ秒しかかかりません。
scope_list = Scope.objects.filter(members=some_user)
次のような一連の結果を照会してから print(scope_list) を呼び出すか、リスト要素を反復処理すると、同じ問題が発生します。クエリ自体は数ミリ秒しかかかりませんが、要素の出力または反復には 5 ~ 10 秒かかりますが、セットには 2 つのエントリしかありません。
データベース バックエンドは Postgresql です。ローカルの開発サーバーと apache でも同じ問題が発生します。
モデルのコードは次のとおりです。
アップデート
Python プロファイラーの出力は次のとおりです。query.py が 160 万回呼び出されたようです。これは少し多すぎます。
python - テンプレートでの Django シグナル データベースの変更
Django を使用して GPS 追跡システムを構築しています。テンプレートには、車のリアルタイム情報 (位置、ビテス、温度など) を表示するグリッドが必要です。GPS は、データを解析して特定のテーブルに保存するモジュールを介してデータを Postgres データベースに送信します。必要なのは、Web アプリにデータをリアルタイムで表示させる方法です。(Dbに挿入された行をグリッドに表示するにはどうすればよいですか)
私はこのパッケージhttps://pypi.python.org/pypi/django-db-signals/0.1.1を試しましたが、私の DataParser は私の django Web アプリの外部にあり、反対側から独立して動作します