問題タブ [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 に答える
142 参照

django - フィクスチャ コンテンツからフォーム値をリセットする

Django 1.5 を使用して、フォームにデフォルト値ボタンが必要です。

フォームは でforms.ModelForm、モデルはアプリケーションのデプロイ時に Django フィクスチャを使用して設定されます。基本的に、リセット ボタンはフィクスチャのコンテンツを取得し、フォームのコンテンツを更新します。

フィクスチャファイルをosand stuff で開く必要がありますか?

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

django - インポートされたアプリケーションからのモデルの Django フィクスチャ (django-allauth など)

initial_data.json自分のモデルのようにフィクスチャ ファイルを作成できることはわかっています。インポートされた django-allauth アプリケーションによって作成および使用されるテーブルに同様のファイルを作成したいと考えています。

私は試した:

ただし、エラーで終了します:

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

python - Django での単体テスト: データベースを初期化する方法

Djangoでテスト駆動開発をしようとしています。私の問題は、テストを実行する前に、データベースにいくつかのものを追加する必要があることです。たとえば、多数のユーザー、部門、およびそれらの権限です。フィクスチャを使用してそれを実行しようとしましたが、プロセス全体が非常に直感的ではないことがわかりました (また、データベースを削除して再同期したときに、権限が ID のみを介して参照されているため、ユーザーのフィクスチャが壊れていることがわかりました)!

このテスト前のデータベース初期化に対する他の解決策を探しましたが、初期化が TestCase クラスの setUp メソッドで実行される非常に単純なケースしか見つけることができませんでした。さまざまなユーザーとアクセス許可を持つアプリケーションをすべてテストする必要がある場合に、このような方法を使用できるとは思いません。

大規模なアプリケーションのテストを開始する前に、データベースにどのように入力するか教えていただけますか? フィクスチャと setUp クラス以外のより良い方法はありますか?

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

django - 自分自身へのdjango-dynamic-fixture外部キー

次のような tests.py があります。

私の Person モデルは次のようになります。

テストを実行すると、次の結果が得られます。

自分自身を指す外部キーを持つdjango_dynamic_fixtureオブジェクトを作成するにはどうすればよいですか?

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

django - Fixtures in Django testing with South / Selenium

I am trying to run Selenium tests on a Django project (1.5.4), which uses South. I think South is conflicting with my tests when I try to inject initial data with fixtures, but I'm not sure why; I appreciate any help.

According to the Django documentation, fixtures are supposed to be loaded after the first syncdb and then all migrations are applied.

Question 1) Does this take into account South migrations?? Do I need to run those separately somehow?

The error I get when I run my tests makes it seem like my South migrations are still present in the test database after the first test...but I thought each test has its own database (and migrations / fixtures) created? The first test passes / fails, but each subsequent test raises this IntegrityError:

This South documentation and SO question seem to indicate that I need to override some type of forwards method in order to get fixtures working, but I'm not entirely sure how to apply that to a testing situation instead of production (or if that is the solution I need).

Question 2) Am I supposed to override forwards in my test setup? Where would I do it?

My relevant test code:

Thanks!


UPDATE

So per Alex's suggestion below and this South doc, I added this line to my settings.py:

But I am now getting 8 of 8 Errors (before I was getting 1 pass/fail on the first test, and then 7 Errors). The full error for a single test is below:

The command I ran:

I'm not quite sure if I made the problem better, worse, or the same, but I seem to be more in-line with the documentation...

Thanks!


UPDATE #2 -- with solution

So a couple of other pages that helped me figure it out (in addition to Alex's pointer to the South doc). First, this person had a similar issue, and solved it using the SOUTH_TESTS_MIGRATE = False statement. So half my solution was to include that.

The second half of my solution was to fix my fixture document. I was dumping everything into my fixture with:

This is, apparently, a bad way to do fixtures it with South--because it also dumps the South migration tables into the fixture. The post above shows the blogger using app-specific fixtures (which are also talked about in this SO post), and that was the key to getting my fixtures to work. The Django docs on fixtures do show the optional parameters to dump just an app, but I didn't know ignoring them would cause South to conflict. So the second half of my solution was to create my fixture to be app-specific:

And my tests now run fine (slow, but probably a different issue)!

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

django - django フィクスチャのロード中にエラーが発生しました

Person.json と Movies.json という 2 つのフィクスチャ セットがあります。Person フィクスチャの基本的な形式は次のとおりです。

そして、最初にロードしますが、問題ありません。私の movie.json は次のようになります。

そして、映画のフィクスチャをロードすると、次のエラーが発生します。

私のモデルは次のとおりです。

過去に同様のモデルとフィクスチャを読み込んで動作しましたが、コードを少しリファクタリングしようとしているため、動作しません。私が行った注目すべき変更の 1 つは、MySQL ではなく PostgreSQL になり、virtualenv ですべてを実行していることです。エラーが発生したフィクスチャの場所を特定する方法はありますか?

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

django - Django のテスト時にフィクスチャをロードできない

この質問を再質問して自分を馬鹿にしないことを願っていますが、テストの実行時にフィクスチャがロードされない理由がわかりません。私はpython 2.7.5とDjango 1.5.3を使用しています。

python manage.py testserver test_winning_answersの場所で、フィクスチャをロードできますsurvey/fixtures/test_winning_answers.json

私のテストクラスは正しいインポートを行っています:

しかし、テスト コマンドを実行しようとすると、それらが見つかりません。

明らかな何かが欠けていると思いますが、それを完全に理解することはできません...どんな提案もいただければ幸いです。ありがとう!