Skip to content
  • Jeremy Kerr's avatar
    Fix django-1.6 incompatibilities · 628a57c2
    Jeremy Kerr authored
    
    
    We're seeing a couple of final quirks running the testsuite on django
    1.6:
    
      Traceback (most recent call last):
        File "patchwork/apps/patchwork/tests/notifications.py", line 182, in testNotificationEscaping
          errors = send_notifications()
        File "patchwork/apps/patchwork/utils.py", line 227, in send_notifications
          delete_notifications()
        File "patchwork/apps/patchwork/utils.py", line 197, in delete_notifications
          pk__in = notifications).delete()
        File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 163, in filter
          return self.get_queryset().filter(*args, **kwargs)
        File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 590, in filter
          return self._filter_or_exclude(False, *args, **kwargs)
        File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 608, in _filter_or_exclude
          clone.query.add_q(Q(*args, **kwargs))
        File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1198, in add_q
          clause = self._add_q(where_part, used_aliases)
        File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1232, in _add_q
          current_negated=current_negated)
        File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1122, in build_filter
          lookup_type, value)
        File "/usr/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 1107, in get_lookup_constraint
          values = [get_normalized_value(value) for value in raw_value]
        File "/usr/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 1084, in get_normalized_value
          value_list.append(getattr(value, source.attname))
      AttributeError: 'PatchChangeNotification' object has no attribute 'id'
    
    - we're specifying our own pk here, so the PatchChangeNotification has
    no id attribute; it looks like the pk__in syntax is expecting IDs.
    
    We also need a default value for BooleanField, as we're getting
    integrity errors when creating rows with no explicit send_notifications
    set.
    
    Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
    628a57c2