Django удалить объект

Добрый день, у меня есть объект Model, который содержит пользователя, создавшего его, а также указанного в форме.

с localhost:800/delete/int:title_id/ удаляется один объект.

Вопрос: Как я могу сделать так, чтобы пользователь, который также создал объект, мог его удалить.

Если пользовательXY владеет объектом с ID 123 и вызывает localhost:800/delete/123, объект будет удален.

Но если OtherNutzerYX вызовет localhost:800/delete/123, объект не будет удален, потому что объект принадлежит не ему, а UserXY.

models.py

class NewTitle(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        default=None,
        null=True,
        on_delete=models.CASCADE,
    )
    title = models.CharField(max_length=200)
    creator_adress = models.GenericIPAddressField(null=True)
    id = models.BigAutoField(primary_key=True)

    def __str__(self):
        return str(self.title)

urls.py

path('delete/<int:title_id>/', views.title_delete),

views.py

def title_view(request):
    titles = NewTitle.objects.all()

    custom_title_id = random.randint(1111, 1111111111111)

    if request.method == 'POST':
        form = NewTitleForm(request.POST, instance=NewTitle(user=request.user))
        if form.is_valid():
            obj = form.save(commit=False)
            obj.creator_adress = get_client_ip(request)

            obj.id = custom_title_id
            while NewTitle.objects.filter(id=obj.id).exists():
                obj.id = random.randint(111, 11111111111)

            obj.save()
            return redirect('/another')
    else:
        form = NewTitleForm()
    return render(request, 'test.html', {'form': form, 'titles': titles})


def title_delete(request, title_id):

    if #WHAT CODE HERE?:
        NewTitle.objects.filter(id=title_id).delete()
    else:
        return redirect('https://example.com')
    return HttpResponseRedirect('/another')

Соответствующий код - это функция title_delete. Я не знаю, что писать в операторе if. Оно должно быть примерно таким: 'if user of the title id == the user who is requesting the url == delete the model' 'else = if user is not the owner, go to example.com and do not delte the model'

Мы можем получить пользователя, который запросил url с помощью request.user, теперь нам просто нужно проверить, равен ли request.user владельцу модели. Как?

(Кстати, если есть лучшие способы создания пользовательского ID для каждой модели или вы заметили что-то еще в моем коде, что может быть лучше, пожалуйста, сообщите мне)

Спасибо за помощь :-)

Как вы упомянули, вы хотите удалить объект title, только если объект создан вошедшим пользователем.

Вот как вы можете этого добиться

def title_delete(request, title_id):
   
user_title = NewTitle.objects.filter(id=title_id,
                                      user=request.user)
    if user_title:
         user_title.delete()
    else:
        return redirect('https://example.com')
    return HttpResponseRedirect('/another')

вы также можете вызвать .first() после фильтра, если вы уверены, что ваша пользовательская база содержит только один заголовок

user_title = NewTitle.objects.filter(id=title_id,
user=request.user).first()
Вернуться на верх