問題タブ [django-database]

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 投票する
2 に答える
166 参照

mysql - mysqlを使用してdjangoモデルのcharfieldで空白のステートメントを取得する

django アプリケーションを sqlite3 から mysql 5.1.41 に移行しました。次のように定義されたモデルに charfield があります。

HostStatus を除いて、すべて同じように機能します。HostStatus は通常、「Up, waiting」のような文字列を返します。ただし、mysql では空白です。文字セットをutf-8に設定してテーブルを作成しました。私は何を間違っていますか?前もって感謝します。

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

django - Django:ldap dbバックエンドの実装を探しています(またはこれに関するヘルプを探しています)

この投稿に続いて(私はldapバックエンドでDjangoモデルを宣言できるライブラリを探していました)、ldapdbを使用することにしました。このライブラリでしばらく遊んだ後、私はそれが私が必要とする制御のレベルに達していないことに気づきました、そしてそれ故に私は他の解決策を探しています。私が今考えているのは、に基づいてDjangodbバックエンドを実装することですpython-ldap


編集

これが必要なのは、現在ldapディレクトリにユーザー/グループ管理システムを実装しているためです(ユーザーだけでなく、さまざまなクラスのldapオブジェクトも操作できる必要があります)。したがって、基本的には、(ほぼ)完全なDjango ormを使用できるようにしたいと思いますが、LDAPバックエンドを使用します。

私はDjangoが大好きで(そしてdb.backendsの汚い低レベルの詳細を学ぶことにかなり動機付けられるでしょう)、そしてこのプロジェクトにはすでにたくさんのことが実装されているので、Djangoに固執したいと思います(誰かが私がすべきではない正当な理由、そして非常に良い代替手段です!)。


  • この問題に対するより簡単な解決策を持っている人はいますか?
  • そのようなもの(ldap dbバックエンド)の実装について知っている人がいますか?
  • 「Djangodbバックエンドの実装」を始めるための良い読み物を知っている人はいますか?
  • このプロジェクトを手伝うことに興味を持っている人はいますか?
0 投票する
2 に答える
11876 参照

django - Django Southを使用して既存のアプリの新しいデータベースを作成し、デフォルト値を設定するにはどうすればよいですか?

Southを使用してデータベースを移行するOSプロジェクトで作業しています。新しいデータベースを最初から構築しています。将来データベースを簡単に更新できるように、Southがセットアップされていることを確認したいと思います。

このプロセスは次のようになります。

  1. dbを作成します
  2. syncdb
  3. 移行する

ただし、データベースを移行しようとすると、以前の移行の1つ(移行0004およびそれらは0009に移動)は例外をスローします。

移行0004にデフォルト値を追加する方法がわからないため、この例外はスローされません。

データベースが空であるため、移行を実行する必要はありません。

ただし、 south_migrationhistoryには、すべての移行とそれらがいつ適用されたかのリストが含まれている必要があります。

私はそれをハックしてデータベースに移行0009を手動で追加しようとしましたが、中間の移行が実行されていなかったため、これは別のエラーをスローしました。また、データベースにフィールドを追加して、デフォルト値0が指定された場合のadd_columnの構文がどのようになるかを理解できるかどうかを確認しました。形式は、これらの古い移行とはまったく異なります。

add_column構文の2つの異なるバージョンを次に示します。

ですから、0004が作成されてから今日までの間に南のコードに変更があったと思います。

syncdbを使用してデータベースを構築し、manage.pymigrateを実行せずにsouth_migrationhistoryを更新する方法はありますか?

南に移行する既存のアプリがある場合、新しいデータベースを最初からどのように構築しますか?

整数フィールドにデフォルトが設定されていないため、移行できません。古い移行でデフォルトを設定するにはどうすればよいですか?フィールドはもう存在しません。

試行された構文:

私はSouth-0.7.2-py2.7.eggを使用しています

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

python - Djangoサイトを更新するときに、ユーザーデータをどのように維持しますか?

すでにユーザーを登録しているライブのDjangoサイトがあります。元のサイトとは異なる新しいバージョンでサイトを更新しようとしています。アイデアは似ていますが、モデルが異なります。

現在のユーザーを新しいサイトにとどめるにはどうすればよいですか?

サウスは良い解決策かもしれないと聞きましたが、古いサイトにはインストールされていません。この場合、南を使用することは可能ですか?

助けてくれてありがとう!

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

mysql - Django South - null=true blank=true を削除する db.alter 関数が mysql で失敗する

これら 2 つの値を削除して、日付フィールドを null=True および blank=True から必須に変更するときに、db.alter コマンドで問題が発生します。

以下の行をコメントアウトすると、移行は問題なく実行されます。

これにより、列の説明が次のように変更されます。

上記の行が移行に残っていると、次のエラーが表示されます。

私は使用しています:

South 0.71 注: 0.73 にアップグレードしようとしたところ、0.73 で同じエラーが発生し、古いフィクスチャをロードするとスクリプトが壊れていました。

ジャンゴ 1.2.1

Python ライブラリ: MySQLDdb DB API v2.0 互換、リビジョン 603

mysql Ver 14.14 Distrib 5.1.51、Win32 (ia32) 用

InnoDB ストレージ エンジン

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

django - 結果を削除せずにフィルタリングされた注釈

アノテーションを使用したモデルとクエリを考えてみましょう。たとえば、 Djangoドキュメントの次の例です。

このクエリの結果には、フィルターに一致する (つまり、book_rating が 3.0 より大きい) オブジェクトのみが含まれ、これらのオブジェクトには注釈が付けられています。しかし、クエリにすべてのオブジェクトを含めたいが、フィルターに一致するオブジェクトにのみ注釈を付ける(または、たとえば 0 で注釈を付ける) 場合はどうすればよいでしょうか? それともこれは可能ですか?

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

django - 重複したリクエスト スレッドは、Django モデルで重複したデータベース エントリを作成します

問題: シグナル受信機は、特定の条件のモデル エントリが存在するかどうかを確認し、存在しない場合は新しいエントリを作成します。ごくまれに、エントリが重複しています。

レシーバー関数内:

の明らかな候補ですget_or_createが、そのコードをクリーンアップする以外に、get_or_createヘルプを使用するとこの問題を防ぐことができますか?

シグナルはユーザーアクションの後に送信されますが、元のリクエストが複製されているとは思われません。これは、他のアクションをトリガーしたからです。

重複は、数千回のインスタンスで数回発生しています。これは必然的に複数のリクエストによって引き起こされたものですか、それとも重複したスレッドが作成される可能性がありますか? そして、おそらく詳細なトランザクション管理を使用して、重複を防ぐ方法はありますか?

Django 1.1、Python 2.4、PostgreSQL 8.1、および Apache2 での mod_wsgi の使用。

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

database - 起動時にデータベース全体を再初期化してデータを入力するように Django を構成するにはどうすればよいですか?

新しい Django アプリケーションの最初のバージョンで作業していて、モデルを変更し続けていると仮定しましょう。

データ駆動型のアプリケーションであるため、主に django admin のカスタマイズに取り組んでいます。

この場合syncdb、モデルの更新に失敗するため、あまり役に立ちません。Southは興味深いものでしたが、最初のバージョンで作業しているときはあまり意味がありません。

データベースを削除して再初期化するには、いくつかのコマンドが必要で、新しい管理者アカウントを手動で入力する必要があります。

次のことができるように、開発環境をどのように設定することを提案しますか?

  • ファイルが変更されたときにdjangoサーバーを自動再起動する
  • django の再起動時にデータベースを自動再初期化する

その結果、モデルに新しい属性を追加し、ブラウザに切り替えて管理ページを更新し、新しい属性を確認できると期待しています。

0 投票する
6 に答える
68676 参照

python - Djangoのデータベースの日時フィールドに100年を減算または加算するにはどうすればよいですか?

datetimeDjangoのデータベースのフィールドに100年を減算または加算するにはどうすればよいですか?

日付はデータベースにあります。計算して挿入するためにフィールドを取得せずに、フィールドを直接更新したいだけです。

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

python - djangoでデータベース(MySQL)から30個の一意のランダム値を選択するにはどうすればよいですか?

この質問を読みました:Djangoで、データベースから100個のランダムレコードを選択するにはどうすればよいですか?
そして使用しようとしましContent.objects.all().order_by('?')[:30]たが、これはいくつかの重複したアイテムを生成します。では、データベースから30個の一意のランダム値を選択するにはどうすればよいでしょうか。