Skip to content

Conversation

@ramoniee
Copy link
Contributor

@ramoniee ramoniee commented Apr 30, 2024

Related issues: [please specify]

Description:

I am stuck on this. I think the main reason is because I don't understand what a generic foreign key is. I will take some time to find out what a generic foreign key is and how I can resolve this.

  • Here is the output of the failing test:

(venv) raymond@Umuzi-Lenovo-IdeaPad:~/umuzi/tilde2_stuff/auth_pages_layout/backend$ python manage.py test --pattern="test_activity_log_creators.py"
warning: GIT_REAL_WEBHOOK_SECRET not set!
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.[Tilde-backend] [2024-04-30 08:35:14] INFO [logging_middleware:21] anonomous [POST] /git_real/github_webhook
[Tilde-backend] [2024-04-30 08:35:14] ERROR [django.request:224] Internal Server Error: /git_real/github_webhook
Traceback (most recent call last):
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/decorators.py", line 50, in handler
    return func(*args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/views.py", line 32, in github_webhook
    pr = PullRequest.create_or_update_from_github_api_data(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/models.py", line 138, in create_or_update_from_github_api_data
    log_pr_opened(pull_request)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/activity_log_creators.py", line 46, in log_pr_opened
    match = LogEntry.objects.filter(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/query.py", line 942, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/query.py", line 962, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/query.py", line 969, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1358, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1377, in _add_q
    child_clause, needed_inner = self.build_filter(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1258, in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1084, in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1459, in names_to_path
    raise FieldError(
django.core.exceptions.FieldError: Field 'object_1' does not generate an automatic reverse relation and therefore cannot be used for reverse querying. If it is a GenericForeignKey, consider adding a GenericRelation.
E..[Tilde-backend] [2024-04-30 08:35:14] INFO [logging_middleware:21] anonomous [POST] /git_real/github_webhook
..
======================================================================
ERROR: test_adding_a_pr_review (git_real.tests.test_activity_log_creators.log_pr_reviewed_Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/mock/mock.py", line 1452, in patched
    return func(*newargs, **newkeywargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/tests/test_activity_log_creators.py", line 70, in test_adding_a_pr_review
    self.client.post(url, format="json", data=body, extra=headers)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/test.py", line 295, in post
    response = super().post(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/test.py", line 209, in post
    return self.generic('POST', path, data, content_type, **extra)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/test.py", line 233, in generic
    return super().generic(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/test/client.py", line 470, in generic
    return self.request(**r)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/test.py", line 285, in request
    return super().request(**kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/test.py", line 237, in request
    request = super().request(**kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/test/client.py", line 716, in request
    self.check_exception(response)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/test/client.py", line 577, in check_exception
    raise exc_value
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/rest_framework/decorators.py", line 50, in handler
    return func(*args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/views.py", line 32, in github_webhook
    pr = PullRequest.create_or_update_from_github_api_data(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/models.py", line 138, in create_or_update_from_github_api_data
    log_pr_opened(pull_request)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/git_real/activity_log_creators.py", line 46, in log_pr_opened
    match = LogEntry.objects.filter(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/query.py", line 942, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/query.py", line 962, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, *args, **kwargs)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/query.py", line 969, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1358, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1377, in _add_q
    child_clause, needed_inner = self.build_filter(
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1258, in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg)
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1084, in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
  File "/home/raymond/umuzi/tilde2_stuff/auth_pages_layout/backend/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1459, in names_to_path
    raise FieldError(
django.core.exceptions.FieldError: Field 'object_1' does not generate an automatic reverse relation and therefore cannot be used for reverse querying. If it is a GenericForeignKey, consider adding a GenericRelation.

----------------------------------------------------------------------
Ran 6 tests in 0.324s

FAILED (errors=1)
Destroying test database for alias 'default'...

Screenshots/videos

I solemnly swear that:

  • My code follows the style guidelines of this project
  • I have merged the develop branch into my branch and fixed any merge conflicts
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have tested new or existing tests and made sure that they pass

@ramoniee ramoniee marked this pull request as draft April 30, 2024 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants