問題タブ [django-fixtures]
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 - 生の Python のフィクスチャ?
たとえば、外部ファイルから初期データを作成するために、生の Python でフィクスチャを使用する方法はありますか? 私は現在 JSON にフィクスチャを持っていますが、実際にはそれらを一種の CSV ファイルに移行し、Python でこれらを解析して挿入する方が効果的かもしれません。Djangoでこれを行う方法はありますか?
django - 「loaddata」が機能しないときにテスト用のフィクスチャを作成するにはどうすればよいですか?
拡張したいオープン ソース プロジェクト用のテスト フィクスチャを作成しようとしています。
Nodeモデルがあり、それはQuestionモデルによってサブクラス化されています。
問題は Node がcustom managerを使用していることにあるようです。
フィクスチャを作成できますが、すべてのレコードがダンプされていないため、フィクスチャをリロードできません。
loaddataを介してフィクスチャをロードしようとすると、次のエラーが発生します。
何らかの理由で、スーパークラス Node が生成されていません。
このプロジェクトをテストできるようにフィクスチャを作成する他の方法はありますか?
django - フィクスチャにできない1回限りのDjangoオブジェクトを初期化するにはどうすればよいですか?
私は Django でアプリを作成しています。このアプリには、インスタンス化する必要があるいくつかのサイト全体の固定オブジェクトがあり、何らかの理由でフィクスチャにすることはできません。
たとえば、一部の (例: Permission
s) PK をハードコードできないのは、特定の順序でロードされるかどうか確信が持てないためです (さらに、pk=null を使用すると、それらが既に存在する場合は IntegrityError が返されます) .)
その他 (例: Site
) は の値に依存しますsettings.py
。 編集:これらは、プロジェクトが展開されるたびに実行する必要があります。それ以外の場合は、以下の super9 の提案に従って South のデータ移行を使用できます。
これらは Django モデルであるため、私のプロジェクトのどのアプリにも直接関係していません。それらをロードするのが最も理にかなっていますsettings.py
が、それは循環インポートになります。それは動作しurls.py
ますが、ローディングコードをそこに置くのはハックで場違いに思えます。
post_syncdb
次のようにレシーバーを接続することを検討しました。
ただし、私は南を使用しているため、ドキュメントpost_syncdb
によると、テーブルが最初に作成されたときにのみ送信されます。syncdb
移行するたびに手動で呼び出すこともできますが、そうしない方がよいでしょう。
urls.py
それらを、または最も密接に関連するアプリに配置することをほぼ解決しましたがmodels.py
、フィクスチャとしてロードできない固定オブジェクトをロードする受け入れられた方法があるかどうかを確認するためにここをチェックすると思いました。
django - auto_now_add オプションが有効になっている DateTimeField には、フィクスチャに値が必要です
次のように構成されたモデル作成フィールドがあります。
JSON フィクスチャでは、created の値を宣言したくありませんが、フィクスチャ (loaddata) をロードしようとするとエラーが発生します:
created は NULL であってはなりません
だから私はフィクスチャで創造された価値を提供しなければなりませんか、それとも他の方法がありますか?
django - djangoでQuerySetからフィクスチャを作成するにはどうすればよいですか?
Django の dumpdata コマンドは、ダンプされるデータの量を絞り込む合理的な方法をサポートしていないため、壊れています。さまざまなクエリセットのフィクスチャを作成する必要があります(外部モデルのリレーションからオブジェクトをダンプすることに注意する必要はありません)。django-test-utils makefixture のように、これらのクエリセットの項目数を制限するだけでは不十分です。カスタムマネージャーでプロキシモデルを使用してこれを達成しようとしましたが、このアプローチは機能しません-dumpdataはプロキシモデルを省略します(これは合理的です)。
django - Djangoは私のTestCaseフィクスチャを無視しています
Django1.4を持っています。test.pyには、必要なTestCaseインポートがあります。
問題を特定するために、次の行を追加しました。
デフォルトのサンプルテストケース、すなわち
django-admin.py dumpdataを使用して、customers/fixturesディレクトリに「westeros」というフィクスチャファイルを作成しました。「customers」はsettings.INSTALLED_APPSにリストされているアプリです。
テストを実行すると、冗長性を問わず、Djangoはフィクスチャを無視してtest_basic_addition
テストに合格します。エラーなし、フィクスチャのロードなし。TestCaseのインポートがないかのようです。何が間違っている可能性があるか、またはこれをデバッグする方法についてのアイデアはありますか?
django - Django 管理者: 一部のフィールドが空で表示されるのはなぜですか?
次のような「投稿」モデルを使用した Django ブログがあります。
python manage.py loaddata fixturename.json
コマンドを使用して、多数の「投稿」オブジェクト (上記のすべてのフィールドが入力された状態) をデータベースにアップロードしました。ただし、管理サイトにログインしてオブジェクトを変更すると、「カテゴリ」フィールドにアップロードした値が、フィールドのドロップダウン リストで事前に選択されたとおりに表示されません。どうしてこれなの?そして、それを修正する方法はありますか?
編集:これは私のjsonフィクスチャファイルからのスニペットです:
mysql - ユニコードデータでdjangoの読み込みフィクスチャが失敗する
dumpdata を介して一連のフィクスチャを保存しました。例を次に示します。
私がする時
manage.py loaddata core_question.json
、次のエラーが表示されます。
警告: 不正な文字列値: 行 1 の列 'first_name' の '\xD0\x94\xD0\xB8\xD0\xB0...'
データベースの問題かもしれませんが、すべてユニコードのようです:
スキーマ照合と同様:
CATALOG_NAME,SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME,DEFAULT_COLLATION_NAME,SQL_PATH NULL,reviewer,utf8,utf8_general_ci,NULL
他に何か足りないものはありますか?
python - package_name.module_name.class_name"path"でクラスをインスタンス化する方法
model
フィクスチャのモデルクラスを示すプロパティをフィクスチャに設定する、djangoフィクスチャシステムに少し似たものを実装したいと思います。こんな感じ
私の質問は、この「パス」が指すクラスのインスタンスを作成するために、このような文字列を処理する標準的な方法は何ですか。私はそれが次のように見えるべきだと思います:
- モジュール名とクラス名の部分に分割します
- モジュールをロードします(ロードされていない場合)
- モジュールからその名前でクラスを取得します
- それをインスタンス化する
どのくらい正確にそれを行う必要がありますか?
編集:私は汚い解決策を思いついた:
それは仕事ですが、execの使用と、フィクスチャの悪意のある準備によって実行を操作する可能性があるため、汚いです。それはどのように適切に行われるべきですか?
django - Django と動的サンプル データ
initial_data.json
Djangoからサンプル/デモ データ セットを簡単に生成する方法を見つけようとしています。
基本的に、フィクスチャinitial_data.json
は、日付が静的であることを除いて、私が必要とすることを正確に行います....
私のアプリは日付を使用して、他の方法では簡単に生成される情報 (コメント、スコアなど) を表示/並べ替えます。見込み顧客にアプリの機能を示すために、完全なデータ セットを作成したいと考えています。問題は日付で発生します。実行してもsyncdb
(自動的に my が含まれますinitial_data.json
)、日付は静的であるため、すべての情報は今日ではなく特定の日付に関連付けられます。時間が経つにつれて、そのデータはアプリで見えにくくなるため、潜在的なクライアントに対してその能力を十分に発揮できなくなります。
日付情報を更新しinitial_data.json
て、日付が現在の実際の日付に関連したままになり、それらの新しい日付で syncdb を再度実行できるようにする簡単な方法はありますか? (これはすべて、クライアントへのデモンストレーションとしてのみローカルマシン上にあると想定してください...サーバー、本番環境などではありません)。
私はこれが理にかなっていることを願っています?!