我有以下型号:删除对象tastypie
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
但是,这工作!这允许任何用户删除任何评论,即使它不是自己的不好!怎么样?
通过简单地发送一个DELETE 请求:myapp.com:8000/v1/posts/comment-delete/ /它会删除该具有ID的的注释对象。这是设置失败的地方。
我需要一种方式,只有帖子的帖子所有者可以删除他的评论和其他人在他帖子上的评论。
将这个帐户被他人创建的海报评论的对象的删除? – noahandthewhale
我试过你的解决方案,发表评论的海报无法删除他的评论:( – noahandthewhale
删除帖子,而应该删除评论以及 –