Krukov / django-channels-panel

A Django Debug Toolbar panel for Channels
42 stars 8 forks source link

Incomming issue: TypeError: group_names() missing req. pos. arg. #4

Closed AlexejStukov closed 8 years ago

AlexejStukov commented 8 years ago

I just had a very strange error: I installed channels from master. Then I installed channels_panel got following backtrace:

Traceback (most recent call last):
  File "/home/myuser/projects/MyProject/website/myapp/tests/test_views.py", line 357, in setUp
    self.my_object.save()
  File "/home/myuser/projects/MyProject/venv/lib/python3.5/site-packages/django/db/models/base.py", line 796, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/myuser/projects/MyProject/venv/lib/python3.5/site-packages/django/db/models/base.py", line 833, in save_base
    update_fields=update_fields, raw=raw, using=using)
  File "/home/myuser/projects/MyProject/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 191, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/home/myuser/projects/MyProject/venv/lib/python3.5/site-packages/channels/binding/base.py", line 125, in post_save_receiver
    cls.post_change_receiver(instance, CREATE if created else UPDATE)
  File "/home/myuser/projects/MyProject/venv/lib/python3.5/site-packages/channels/binding/base.py", line 158, in post_change_receiver
    new_group_names = set(cls.group_names(instance, action))
TypeError: group_names() missing 1 required positional argument: 'action'

This might be linked to the Django DDP commit to channels.

Krukov commented 8 years ago

Yeah, it is really strange. When I tested panel with example binding app I got the same error and I fixed it with this changes https://github.com/andrewgodwin/channels-examples/commit/5f08bcd121c0c620f367f58535d94b893984170f#diff-68e293d71ab908bcdf205cf3bcf44c23L18 . Maybe it helps you.

Have you this error if channels_panel is off?

AlexejStukov commented 8 years ago

Nevermind. I found the culprit. Had still a def group_names(self, instance, action) in my code.