Skip to content

Tutorial has a lookup_field problem #4591

@smllmn

Description

@smllmn

Checklist

  • I have verified that that issue exists against the master branch of Django REST framework.
  • I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
  • This is not a usage question. (Those should be directed to the discussion group instead.)
  • This cannot be dealt with as a third party library. (We prefer new functionality to be in the form of third party libraries where possible.)
  • I have reduced the issue to the simplest possible case.
  • I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)

Steps to reproduce

Follow tutorial up to the generic class-based views section of chapter 3. Attempt to access a snippet detail (e.g. in the browser at localhost:8000/snippets/1)

Expected behavior

Return the serialised snippet

Actual behavior

AssertionError: Expected view SnippetDetail to be called with a URL keyword argument named "pk"
...

The problem is that until that point in the tutorial the views were written out in full and used a keyword argument id. When changing to the class-based views, the expected argument is pk. Either urls.py should be updated to capture the argument as pk or the SnippetDetail class needs to have a lookup_field option.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions