Удаление объектов в Django вкусноpie
У меня есть следующие модели:
class Poster(models.Model)
user = models.OneToOneField(User, primary=True)
userpicture = models.CharField(max_length = 128 =True)
class Posts(models.Model)
poster = models.ForeignKey(Poster, related_name = 'post_owner')
url = models.CharField(max_length = 128)
time = models.DateTimeField(auto_now_add=True)
class Comment(models.Model):
user = models.ForeignKey(Poster)
post = models.ForeignKey(Posts)
time = models.DateTimeField(auto_now_add=True)
comment = models.CharField(max_length=140)
Постер может сделать пост, а другие постеры могут прокомментировать этот пост. Вроде как, как работает блог. Я хотел бы сделать так, чтобы владелец поста имел возможность удалять свои комментарии и комментарии других авторов на своем посте.
Как я могу сделать это?
В настоящее время я использую Django Tastypie. Вот мой текущий ресурс:
class DeleteComment(ModelResource):
class Meta:
queryset = Comment.objects.all()
allowed_methods = ['delete']
resource_name = 'comment-delete'
excludes = ['id', 'comment', 'post', 'time']
authorization = Authorization()
authentication = BasicAuthentication()
include_resource_uri = False
always_return_data = True
Это работает однако! это позволяет любому пользователю удалить любой комментарий, даже если он не является его собственным, что не очень хорошо! Как?
Просто отправивУДАЛЯТЬ просьба: myapp.com:8000/v1/posts/comment-delete/8/ удаляетКомментарий объект, который имеетЯ бы из8, Это где установка терпит неудачу.
Мне нужен способ, чтобы только владелец поста мог удалить свои комментарии и комментарии других на своем посте.