問題タブ [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.

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

django - フィクスチャを使用して django admin auth.groups とユーザーを新しいデータベースに移行する

シナリオは次のとおりです。

私は django の管理インターフェイスを使用しており、フィクスチャを介してユーザーとグループをロードできるようにしたいと考えています (可能であれば)。次のようにユーザー/グループをダンプできます。

しかし、真新しいデータベースにデータをロードすると...

外部キーなどに関係するあらゆる種類のエラーが発生します。以下にその例を示します。

誰かが私を正しい方向に向けることができれば、本当に感謝しています。前もって感謝します!

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

django - Scrapy クローラーから Django アプリケーションデータベースに情報を継続的にエクスポートする最良の方法は何ですか?

ストアのように機能する Django アプリを構築しようとしています。アイテムはインターネットからスクレイピングされ、Django プロジェクト データベースを継続的に更新します (たとえば、数日ごと)。私は Scrapy フレームワークを使用してスクレイピングを実行していますが、実験的なDjangoItem 機能がありますが、不安定なので避けたいと思っています。

現在、私の計画は、クロールされたアイテムの XML ファイルを Scrapy で作成しXMLItemExporter(ドキュメントはこちら)、それらをloaddataXML フィクスチャとして Django プロジェクトに使用することです (ドキュメントはこちら)。2 つのプロセスのいずれかが失敗した場合、それらの間にファイル仲介があるため、これは問題ないようです。アプリケーション全体をモジュール化することも、悪い考えではないようです。

いくつかの懸念事項は次のとおりです。

  • これらのファイルが大きすぎて Django のloaddata.
  • データベース (この場合は MySQL) に直接エクスポートするなど、より優れた、またはより簡単な解決策があるかもしれないのに、私はこれに多くの時間を費やしています。
  • このプロセスについて誰もオンラインで書いていないようです。私の意見では、Scrapy が Django アプリにプラグインするための優れたフレームワークであることを考えると、これは奇妙です。
  • Django のドキュメントに Django フィクスチャを手動で作成するための決定的なガイドはありません。アプリ自体からのフィクスチャのダンプとリロードを対象としているようです。

実験的な DjangoItem の存在は、Scrapy + Django が十分に人気のある選択肢であり、ここで適切なソリューションが存在することを示唆しています。

この問題に関する解決策、アドバイス、または知恵をいただければ幸いです。

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

django - Djangoフィクスチャをロードするときにmodel.save()が呼び出されませんか?

Django モデルの save() メソッドをオーバーライドしているので、オブジェクトに対して追加の健全性チェックを行うことができます。(save() はこれを行う正しい場所ですか?)

フィクスチャ/initial_fixtures.yaml オブジェクトで save() メソッドが呼び出されているようには見えません。フィクスチャの健全性をチェックするにはどうすればよいですか?

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

google-app-engine - フィクスチャからリモートでデータをロードするにはどうすればよいですか

GAEでDjango-nonrelを使用している場合、デプロイ後にサーバーにフィクスチャをロードするにはどうすればよいですか?私はそれをlocallay経由で行うことができます

pythonmanage.pyloaddataフィクスチャ名

しかし、すでにappspot.comにあるデプロイ済みアプリでそれを行うにはどうすればよいですか?

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

django - syncdbがサードパーティプロジェクトにフィクスチャを追加しない

私はdjango-localityと呼ばれる非常に単純なDjangoアプリケーションを作成しました。これは、国や地域での作業の頭痛の種を取り除きます。国や地域の多くの初期データを提供します。PyPIまでの0.1リリースだけで、現在作業中のプロジェクトにインストールしました。(基本的には、元のプロジェクトで見つけたニーズから作成しました。)

ただし、実行したときsyncdb、からのフィクスチャはインストールされませんでしたlocality。出力では、「フィクスチャが見つかりません」と出力され、テーブルは生成されましたが、データベースに行は追加されませんでした。Djangoに初期データがない理由はありますか?私のデータは、locality/fixtures/initial_data.jsonそれ自体の専用プロジェクトから実行すれば、問題なくインストールされます。setuptoolsを使用して依存関係を管理しているので、zip形式のeggとしてダウンロードした場合と単純なディレクトリレイアウトとしてダウンロードした場合に違いはありますか?


最初は、私のJSONがeggに含まれていなかったようですが、これがsyncdb機能しなかった理由です。今、私はその問題を修正しましたが、syncdbそれでもの器具を見つけることができません。卵をダウンロードして、ここで自分の目で確かめることができます。Djangoが初期データを見逃してしまう理由は考えられません。GitHubでリポジトリを表示することもできます。Djangoがフィクスチャを表示しないのはなぜですか?


実行するsyncdb -v 2と、Djangoが卵を見て、備品を探していることがわかります。

Djangoが卵から読み取る方法を知らない可能性はありますか?

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

django - Djangoテスト:フィクスチャデータのみでIntegrityErrorsのないデータベースを取得する方法(エラーの原因を診断することにより)?

フィクスチャデータを使用してテストを実行しようとしていますが、悪名高いIntegrityError: column user_id is not uniqueエラーが発生します。

ここで、フィクスチャを見ると、フィクスチャ内のユーザーモデルのIDが互いに一意であることがわかります。衝突は(非テスト)データベースの既存のデータとの衝突であると推測します。これは正しいです?(編集:これは正しくないようです-以下を参照してください)

テストで利用できるデータを正確に制御できるようにしたいと考えています。djangoテストランナーがライブデータベースからデータとフィクスチャデータをロードしないようにする方法はありますか?(編集:はい-Thibautの回答を参照してください)。

編集: Thibautの回答に従って、メモリ内のクリーンなデータベースを使用するように切り替えても、問題は解決しません。したがって、既存の開発データベースは問題ではないと推測します。

したがって、3番目の質問があります。テスト中にフィクスチャをロードするときにIntegrityErrorの原因を診断するにはどうすればよいですか?(そして、どうすれば修正できますか?)

編集2:私の問題の解決策は、クリーンなデータベース(Thibault Jによる)から始めることに加えて、エラーが発生しなくなるまで、ユーザーを参照するインストール済みアプリからモデルを削除することでもありました。

DrTyrsaの他の提案(データを見る以外)は、自然キーを使用することでした。これは、ユーザーにとって、ある程度のモンキーパッチやその他のハッカーが必要だったことは間違いありません(ユーザーのコードを編集しますか?)。

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

django - djangoでフィクスチャを管理する適切な方法

今日、私は同僚とdjangoアプリケーションでフィクスチャを管理する方法について話し合いました。誰もが満足できる解決策は見つからないので、ここでこの質問をします。

数十のアプリケーションが含まれる非常に大きなdjangoプロジェクトがあり、各アプリケーションにいくつかのTestClassesを含むtests.pyファイルがあるとします。これがある場合、これらすべてのアプリケーションのテストデータをどのように管理する必要がありますか?私の見方からすると、2つの異なる方法があります。

  1. アプリケーションtest_data.jsonファイルごとにすべてのデータを個別に保存します。このファイルには、このデータが使用されている場所に関係なく、アプリケーションのmodels.pyファイルで定義されているすべてのモデルのテストデータが含まれます(さまざまなアプリケーションのテストで使用できます)。
  2. すべてのテスト( auth.usersなど)でおそらく必要となるいくつかの一般的なデータをtest_data.jsonに保存し、各TestCaseのデータを個別のtest_case.jsonファイルに保存します。

私の見方では、2番目のアプローチの方がクリーンなようですが、誰かがこれらのアプローチの具体的な長所と短所を教えてくれるか、または他のアプローチを提案できるかどうか知りたいですか?

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

django - Django の syncdb が auth_permission テーブルに重複したエントリを挿入しています

私は自分のモデルをdjangoで作成して実行しましたmanage.py syncdb

既存のアプリに新しいモデルを追加するまでは、すべて問題ありませんでした。再度実行syncdbすると、重複したエントリがauth_parmissionテーブルに挿入されました。「admin」アプリからのエントリーログにも。

新しいモデルを削除し、データベースをドロップし、空のモデルを作成して実行するテストを行いましたsyncdb。これにより、既存のフィクスチャから初期データがロードされました。

「syncdb」を再度実行すると (新しいモデルを追加せずに)、同じことが起こりました: 重複したエントリがauth_permissionテーブルに挿入されました。

何が起こっているのか、またそれらの重複したエントリを回避する方法について何か説明はありますか?

ありがとう

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

django - Django フィクスチャ。JSONDecodeError

Django プロジェクトがあり、テスト データをデータベースに追加したいと考えています。このようにsyncdbを作成すると

テーブルがインストールされた後、エラーが発生しました

私のモデルはここにあります:

私の備品はこれです:

問題はどこだ?

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

python - Django、フィクスチャを使用したアプリケーション

私は Django アプリを書いています。これは、jQuery Grid Plugin に基づく管理インターフェイスです。今、私はこのアプリのデモを作成し、さまざまなデータを使用して実験できるようにしたいと考えています。もちろん、それをテストするだけです。事前定義されたフィクスチャを持つ django アプリケーションを知っていますか? 国のリストと一致する django-countriesを見つけました。しかし、私はもっと見つけたいです。助言がありますか?前もって感謝します!