NodeProgress receivers skip raw saves (loaddata duplicated rows on the Postgres move)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,15 +6,17 @@ from .services import touch_node_progress_on_answer, update_node_progress_on_les
|
||||
|
||||
|
||||
@receiver(post_save, sender=UserAnswer, dispatch_uid='content_touch_node_progress_on_answer')
|
||||
def _on_user_answer_created(sender, instance, created, **kwargs):
|
||||
if not created:
|
||||
def _on_user_answer_created(sender, instance, created, raw=False, **kwargs):
|
||||
# raw=True: loaddata/dumpdata-انتقال؛ ردیفِ NodeProgress خودش در فایل است و ساختنش اینجا تکراری میشد.
|
||||
if raw or not created:
|
||||
return
|
||||
touch_node_progress_on_answer(instance.user_id, instance.question)
|
||||
|
||||
|
||||
@receiver(post_save, sender=UserLessonCompletion, dispatch_uid='content_update_node_progress_on_completion')
|
||||
def _on_lesson_completion_created(sender, instance, created, **kwargs):
|
||||
if not created:
|
||||
def _on_lesson_completion_created(sender, instance, created, raw=False, **kwargs):
|
||||
# raw=True: loaddata/dumpdata-انتقال؛ ردیفِ NodeProgress خودش در فایل است و ساختنش اینجا تکراری میشد.
|
||||
if raw or not created:
|
||||
return
|
||||
update_node_progress_on_lesson_completion(instance.user_id, instance.lesson)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user