問題タブ [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 - ArrayAgg() は、リストではなく文字列表現を返します
配列集約で QuerySet に注釈を付けることができることを期待して、次のことを試しました。
そして、それは基本的に機能しますが、1 次元配列を返さない限り、PostgreSQL の配列表現の文字列のみを戻り値として取得します。
テンプレートで反復できる適切な Python リストを取得する方法を知っている人はいますか?
python - Django.db 接続オブジェクトへの読み取り専用アクセスの指定
Django プロジェクトで管理コマンドとして実行されている一連の統合レベルのテストがあります。これらのテストは、外部ソースからデータベースに取り込まれた大量の気象データの整合性を検証しています。私は非常に大量のデータを持っているため、テストが意味のあるものになるように、実稼働データベースに対してテストする必要があります。私が理解しようとしているのは、そのコマンドまたは接続オブジェクトに固有の読み取り専用データベース接続を定義する方法です。また、これらのテストは ORM を通過できないため、生の SQL を実行する必要があることも付け加えておきます。
私のテストの構造は次のようになります
WeatherManager.CollectWeatherData() メソッドは次のようになります。
他の誰か (または私) が後でやって来て、誤って運用データベースを変更するテストを作成できないように、これをどうにかしてばかで証明したいと考えています。
django - Django: ProgrammingError リレーションが存在しません
で新しいデータベースをセットアップheroku
しようpython manage migrate
としましたが、関連する多くの例外が発生しましたrelation already exists/does not exists
。だから私はここの指示に従いましたdjango 1.9: ProgrammingError: relationship "users_user" does not exist but it did not work.
そして私が走るときmigrate
ここに関連する部分があります0001_squashed_0024_auto_20161205_2214.py
sqlite3
移行は、データベースではなくローカルで実行すると正常に機能しheroku
ますpostgresql
。
django - ビューの実行時間が非常に長い (1 分以上)
私たちの Django プロジェクトには、複数のオブジェクト (5 から 100 まで) を作成するビューがあります。問題は、フェーズの作成に非常に長い時間がかかることです。
理由はわかりませんが、n 個のオブジェクトに対して、n 回のデータベース ルックアップとコミットが行われている可能性があると考えられます。
たとえば、24 個のオブジェクトには 67 秒かかります。
このプロセスをスピードアップしたい。
検討する価値があると思われる2つのことがあります。
- これらのオブジェクトを 1 つのクエリで作成し、コミットが 1 回だけ実行されるようにします。
- を作成し、
ThreadPool
これらのオブジェクトを並列に作成します。
これは、問題を引き起こすビューの一部です (ローカルホストで Postgres を使用しているため、接続は問題ありません)。
出力:
編集:
for ループをブロックに入れようとしましたwith transaction.atomic():
が、少ししか役に立たないようです (67 秒ではなく 47 秒)。
EDIT2:
よくわかりませんが、SQL クエリは問題ではないようです。
python - Postgres:djangoを使用したjsonキーの値クエリ
たとえば、django 1.10 の postgres でサポートされている jsonfield のネストされたキーに対して values/values_list クエリを実行する必要があります。
次のような値がある場合:
次のようなクエリを実行したい
編集: JSON フィールドは、django.contrib.postgres.fields の公式の django JSONField です。