Модель комментария не привязана к модели билета

Создание отдельного приложения комментариев для приложения билетов. Моя проблема в том, что когда я создаю и отправляю свой комментарий к билету с частицами, он создает свою собственную новую страницу билетов вместо того, чтобы быть прикрепленным к оригинальному билету. Я думаю, что проблема связана с моим файлом urls.py, и мне кажется, что я близок к решению этой проблемы, но я не уверен, как действовать дальше.

Вот мой комментарий models.py

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
from tickets.models import Ticket

class Comment(models.Model):
    ticket = models.ForeignKey(Ticket, related_name='comments', on_delete=models.CASCADE, 
             null=True)
    title = models.CharField(max_length=20)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    
    def __str__(self):
        return self.title
    
    def get_absolute_url(self):
        return reverse('tickets:ticket-detail', kwargs={'pk': self.pk})

Вот мой билет models.py

from django.db import models

from django.utils import timezone

from django.contrib.auth.models import User

from django.urls import reverse

from users.models import Profile

class Ticket(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    assignee = models.ForeignKey(Profile, on_delete=models.SET_NULL, blank=True, null=True)
    status = models.BooleanField(choices=MARKED, default=True)
    priority = models.TextField(choices=PRIORITIES, default='None', max_length=10)
    label = models.CharField(choices=TYPES, default='Misc', max_length=100)
    
    
    def __str__(self):
        return self.title
    
    def get_absolute_url(self):
        return reverse('ticket-detail', kwargs={'pk': self.pk})

Вот основной urls.py

from django.conf import settings
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static

app_name = 'tickets'

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('users.urls')),
    path('', include(('tickets.urls', 'tickets'), namespace='tickets')),
    path('', include('tickets.urls')),
    path('', include('comments.urls')),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Вот билет urls.py

from django.conf import settings
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static

app_name = 'tickets'

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('users.urls')),
    path('', include(('tickets.urls', 'tickets'), namespace='tickets')),
    path('', include('tickets.urls')),
    path('', include('comments.urls')),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Вот мои комментарии urls.py

from django.urls import include, path
from .views import (
    CommentListView,
    CommentCreateView,
    CommentUpdateView,
    CommentDeleteView,
)

urlpatterns = [
    path('tickets/<int:pk>/', CommentListView.as_view(), name='ticket-detail'),
    path('tickets/<int:pk>/comments/new/', CommentCreateView.as_view(), name='comment-create'),
    path('tickets/comments/<int:pk>/update/', CommentUpdateView.as_view(), name='comment-update'),
    path('tickets/comments/<int:pk>/delete/', CommentDeleteView.as_view(), name='comment-delete'),
]
Вернуться на верх