問題タブ [django-orm]

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.

0 投票する
3 に答える
3422 参照

python - Django ORM を使用した日付に基づく値のクエリ

値と日付フィールドを持つオブジェクトがたくさんあります。

これを返したい:

さらに良いことに、その時点までの合計の集計:

このデータをデータベースから直接取得するのが最善ですが、それ以外の場合は、forloop を使用して合計を簡単に計算できます。

Django の ORM と Postgres を使用しています

編集:

私の例は数日しかカバーしていませんが、実際には、数十年をカバーする何百ものオブジェクトがあります...私がやろうとしているのは、すべてのオブジェクトの合計が時間の経過とともに成長しました(非常に長い時間)

0 投票する
5 に答える
3895 参照

python - Djangoデータベース機能にアクセスできるPythonプログラムを作成する最も簡単な方法

RSSフィードから定期的に情報を取得するWebサイトがあります(現在は手動で、これが私の問題です)。これは現在、通常のDjangoビューとして実装されていますが、私の意見ではあまり良くありません。正しいURLに手動でアクセスして情報を更新するのではなく、cronジョブを使用して実行されるPythonプログラムが欲しいのですが。

Pythonプログラムが私の特定のDjangoアプリケーションとDjangoORMにアクセスできるようにする最も簡単な方法は何ですか?

0 投票する
3 に答える
5201 参照

django - Django モデルの継承、モデルのフィルタリング

次のモデルが与えられた場合:(説明のためだけにある TextFields を気にしないでください)

これらの定義によれば、Content オブジェクトは複数の Base オブジェクトに関連付けることができます。インタビュー(=Contentオブジェクト)は、ミュージシャン(=Child1オブジェクト)、映画監督(=Child2)などとリンクできます。

さて、私の質問ですが、 aso_items フィールドが指しているモデルに従ってコンテンツオブジェクトをフィルタリングすることは可能ですか? 例: Child1 の特定のオブジェクトに関連付けられたすべてのコンテンツ オブジェクト (たとえば、ミュージシャンのボブ ディランに関連付けられたすべてのインタビュー) を含むクエリセットが必要だとします。

さらに、Child1 オブジェクトに関連付けられたすべての Content オブジェクトを含む QuerySet が必要な場合はどうすればよいでしょうか? (たとえば、ミュージシャンに関連付けられたすべてのインタビュー) これにより、フィルタリングはどのように変化しますか?

前もって感謝します ps: プレビューで空白に問題が発生しています。ご容赦ください。

0 投票する
2 に答える
6342 参照

sql - Django ORM:列の最大値に基づいて行を取得する

単一成行注文に関する情報を含む Marketorders クラスがあり、それらは市場のスナップショット (クラス Snapshot で表される) に収集されます。各注文は複数のスナップショットに表示される可能性があり、もちろん最新の行が関連するものです。

私がやっていることは、処理のためにいくつかのスナップショットにまたがるすべての注文を取得することですが、注文ごとに最新の行のみを含めたいと考えています。SQL では、単純に次のようにします。

または結合を使用するとさらに良い:

ただし、Django ORM でこれを行う方法がわかりません。生のSQLなしでこれを達成する方法はありますか?

編集:問題を明確にするためだけに。次の marketorders があるとします (重要でないものはすべて除外し、orderid、reportedtime のみを使用します)。

ORMで次のセットを取得するにはどうすればよいですか?

0 投票する
2 に答える
4545 参照

python - Django ORM - 生の値を DecimalField に割り当てる

編集!!!-新しいオブジェクトを作成するときは値を文字列にキャストするのはうまくいくようですが、既存のオブジェクトを編集しようとするとできません。

したがって、Decimal(3,2) のモデルの 1 つに小数フィールドがあります。

これらすべてのオブジェクトをクエリして、このフィールドを設定しようとすると:

また

「float を DecimalField に変換できません。最初に文字列に変換してみてください」というヒストリック フィットがスローされます...

だから私はする:

同じエラー。

私も試しました:

同じエラー。ここである種のフレームワークのバグに遭遇していますか、それとも何ですか? 実際に Django Admin にアクセスしてオブジェクトを手動で編集すると、正常に動作することに注意してください。

Python 2.6でDjango 1.1を実行しています

0 投票する
2 に答える
912 参照

python - Django:RelatedManagerから元のインスタンスにアクセスするには?

manager メソッド内でFooインスタンスにアクセスしたいと思います。foobaz

baz通常、次のFooタイプの引数を取ります。

このようにして、上記の最初のクエリと次のクエリの両方が同じように機能します。

BarへのForeignKeyがありFooます:

0 投票する
0 に答える
202 参照

django - Django ORMでフィルタリングされたデータに注釈を作成するには?

私は次のモデルを持っています:

レポートのために、今日電話をかけたすべてのユーザーと、各ユーザーのすべての通話の合計コストを取得する必要があります。

SQL では、次のようになります。

これまでのところ、次の解決策を見つけました。

apiuser_idmeとを返しますunits__sum

これ以上のインテリジェントなソリューションはありますか?

0 投票する
1 に答える
295 参照

django - Django ORM:結果セットの参照モデルからの動的列

休暇の発生を追跡するアプリを作成します。ユーザーには曜日があり、曜日には「休暇」や「病気」などのタイプがあります

モデル:

曜日の種類

  • 名前

ユーザー日

  • 日にち
  • DayType (DayType への fk)
  • 値 (発生は +、取得日は -)
  • ノート
  • 合計

列全体に日型を拡張して、次の結果セットを生成しようとしています。これは ORM で可能ですか、それともコードでビルドする必要がありますか?

代替テキスト

0 投票する
2 に答える
23724 参照

django - リスト (または別の ManyToManyField) 内のすべてのオブジェクトに対して ManyToManyField を適切にクエリする方法は?

フィールド (またはリスト)のすべての要素が別のフィールドに存在するかどうかを確認する Django クエリを作成する最良の方法について、私はかなり困惑しています。ManyToManyManyToMany

例として、私は複数Personの専門分野を持つことができる複数の を持っています。開始できるもありますがJob、開始するには 1 つ以上Specialtyの が適格である必要があります。

仕事に必要なすべての専門性を持っている場合にのみ、人は仕事を始めることができます。ここでも例として、3 つの専門分野があります。

  • コーディング
  • 歌う
  • ダンシング

そして、私はJob歌と踊りの専門を必要とする を持っています。歌と踊りが得意な人なら始められますが、コーディングと歌が得意な人は始められません。

そのため、人が引き受けることができるすべての仕事を見つける方法が必要です。これが私のやり方でしたが、もっとエレガントなアプローチがあると確信しています:

これは、 を使用すると、その人の専門分野のすべてではなく、いずれかJob.objects.filter(specialty__in=person.specialties.all())の専門分野に一致する仕事が返されるためです。このクエリを使用すると、歌と踊りを必要とするジョブが歌のコーダーに表示されますが、これは望ましい出力ではありません。

この例が複雑すぎないことを願っています。私がこれについて心配している理由は、システム内の専門分野がおそらくもっと多くなり、それらをループすることがこれを達成するための最良の方法とは思えないからです. 誰かこのかゆみにかすり傷をつけてくれませんか!