danirus / django-comments-xtd

A pluggable Django comments application with thread support, follow-up notifications, mail confirmation, like/dislike flags, moderation, a ReactJS plugin and Bootstrap 5.3.
https://django-comments-xtd.readthedocs.io
BSD 2-Clause "Simplified" License
595 stars 158 forks source link

API support for model primary key not named id #357

Open SamuelJennings opened 2 years ago

SamuelJennings commented 2 years ago

Hi,

Just started using this app and I think it's great so far! I really want to switch to the API backend but doing so requires a primary key field named id. I know this is pretty standard for most django models but unfortunately not for me.

Trying to load comments through the API at the moment gives the following error:

'MyModel' object has no attribute 'id'

The problem occurs in lines 87-92 of api/frontend.py:

        "list_url": _reverse('comments-xtd-api-list',
                             kwargs={'content_type': ctype_slug,
                                     'object_pk': obj.id}),
        "count_url": _reverse('comments-xtd-api-count',
                              kwargs={'content_type': ctype_slug,
                                      'object_pk': obj.id}),

Unless I'm missing something, switching references of obj.id to obj.pk should be a simple fix.

Thanks.