Hi i'm python django beginner.
I'm creating a simple blog
and i want to delete tags that are not used while deleting a post
class Post(models.Model):
title = models.CharField(max_length=50)
content = models.TextField(max_length=500)
create_date = models.DateTimeField(auto_now_add=True)
modify_date = models.DateTimeField(auto_now=True)
tags = TaggableManager(blank=True)
owner = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='owner', blank=True, null=True)
class PostDelete(WriterCheckMixin, DeleteView):
model = Post
success_url = reverse_lazy('blog:list')
def delete(self, request, *args, **kwargs):
temp = Post.objects.get(pk=kwargs['pk'])
for tag in temp.tags.all():
if tag.taggit_taggeditem_items.count() <= 1:
tag.delete()
return super().delete(request, *args, **kwargs)
I just follow tutorial so don't know what happens behind DeleteView.
It worked as intended but seems inefficient.
Do i need "temp = Post.objects.get(pk=kwargs['pk'])"?
Please give me advices.