Excluindo objetos no django tastypie
Eu tenho os seguintes modelos:
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)
Um cartaz pode fazer um post e outros posters podem comentar esse post. Tipo como um blog funciona. Eu gostaria de fazer com que o dono do post tenha a opção de deletar seus próprios comentários e comentários de outros posters em seu post.
Como posso fazer isso?
Atualmente estou usando o Django Tastypie. Aqui está o meu recurso atual:
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
Isso funciona no entanto! Isso permite que qualquer usuário exclua qualquer comentário, mesmo que não seja seu, o que não é bom! Como?
Simplesmente enviando umEXCLUIR pedido para: myapp.com:8000/v1/posts/comment-delete/8/ elimina oComente objeto que tem umidentidade do8. É aí que a configuração está falhando.
Eu preciso de um jeito para que apenas o dono da postagem possa deletar seus comentários e os comentários de outros em seu post.