Вы должны иметь отношение многие-к-одному (ForeignKey
) с моделью Group
из модели GroupPost
, так как каждое сообщение принадлежит определенной группе, и одна группа может иметь много сообщений.
Итак, добавьте ForeignKey
:
class GroupPost(models.Model):
...
group = models.ForeignKey('Group', on_delete=models.CASCADE)
Теперь вы можете ссылаться на Group
id
(или pk
) из GroupPost
экземпляра:
def get_absolute_url(self):
return reverse('group-post-detail', kwargs={'pk': self.group.pk, 'pk2': self.pk})
# ^^^^^^ Here
Предполагая, что имя представления group-post-detail
.
Кроме того, вместо того, чтобы ссылаться на ключевые слова URL как pk
и pk2
, вы можете быть более явными:
def get_absolute_url(self):
return reverse('group-post-detail', kwargs={'group_pk': self.group.pk, 'group_post_pk': self.pk})