タグ付けされた質問 「django-signals」

10
TransactionManagementError信号の使用中は「ユニットブロックの終わりまでクエリを実行できません」が、ユニットテスト中のみ
Django Userモデルのインスタンスを保存しようとするとTransactionManagementErrorが発生し、そのpost_save信号で、ユーザーを外部キーとして持つモデルをいくつか保存しています。 コンテキストとエラーは、シグナルを使用する場合のこの質問django TransactionManagementErrorにかなり似 ています ただし、この場合、ユニットテスト中にのみエラーが発生します。 手動テストではうまく機能しますが、単体テストは失敗します。 私が見逃しているものはありますか? コードスニペットは次のとおりです。 views.py @csrf_exempt def mobileRegister(request): if request.method == 'GET': response = {"error": "GET request not accepted!!"} return HttpResponse(json.dumps(response), content_type="application/json",status=500) elif request.method == 'POST': postdata = json.loads(request.body) try: # Get POST data which is to be used to save the user username = …

5
Djangoシグナルとsaveメソッドのオーバーライド
これに頭を巻くのに苦労しています。現在、次のようなモデルがいくつかあります。 def Review(models.Model) ...fields... overall_score = models.FloatField(blank=True) def Score(models.Model) review = models.ForeignKey(Review) question = models.TextField() grade = models.IntegerField() レビューにはいくつかの「スコア」があり、overall_scoreはスコアの平均です。レビューまたはスコアが保存されたら、overall_score平均を再計算する必要があります。現在、オーバーライドされた保存メソッドを使用しています。Djangoのシグナルディスパッチャーを使用することに何かメリットはありますか?

8
Djangoプロジェクトでsignals.pyファイルを保持するのに適切な場所
私が読んでいたDjangoのドキュメントに基づくsignals.pyと、アプリフォルダーから始めるのが良いようですが、私が直面している問題は、のシグナルを作成pre_saveしてモデルからクラスをインポートしようとすると、競合することです。import私のモデルでは。 # models.py from django.contrib.auth.models import User from django.db import models from django.utils.translation import gettext as _ from signals import * class Comm_Queue(CommunicatorAbstract): queue_statuses = ( ('P', _('Pending')), ('S', _('Sent')), ('E', _('Error')), ('R', _('Rejected')), ) status = models.CharField(max_length=10, db_index=True, default='P') is_html = models.BooleanField(default=False) language = models.CharField(max_length=6, choices=settings.LANGUAGES) sender_email = models.EmailField() …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.