Thanks @Daniel Roseman and @yuvi. With your help I managed to solve my problem by defining the URL pattern to this:
r'^(?P<pk>\d+)(?:/(?P<slug>[\w\d-]+))?/$',
Which allows all my wanted forms of
- news/nn
- news/nn/
- news/nn/a-slug
- news/nn/a-slug/
In the template, I use
{% url 'news_detail' news.id news.prettyurl %}
Which shows the fourth version in the listing above.
Thanks again!