Я думаю, вы неправильно используете DetailView
, но вы находитесь на правильном пути.
Важно помнить, что self.object
ссылается на объект, над которым работает представление. В вашем коде вы называете его CurrentProject
, поэтому нет необходимости запрашивать объект, он у вас уже есть. В общем случае вы передаете идентификатор объекта в представление в качестве параметра URL.
Заключение ...
Я думаю, что представление должно выглядеть примерно так,
class ProjectView(DetailView):
model = MyProjects
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
completed = Post.objects.filter(status='Completed', project=self.object)
in_progress = Post.objects.filter(status='InProgress', project=self.object)
posts = Post.objects.filter(project=self.object)
features = Post.objects.filter(ticket_type='Features', project=self.object)
context['posts'] = posts
context['features'] = features
context['completed'] = completed
context['inProgress'] = in_progress
context['projects'] = projects
return context
И URL-адрес представления должен выглядеть примерно так:
path('<int:pk>/', views.ProjectView.as_view(), name='project-detail')