@login_required
@ajax_required
def remove(request):
try:
feed_id = request.POST.get('feed')
feed = Feed.objects.get(pk=feed_id)
if feed.user == request.user:
likes = feed.get_likes()
parent = feed.parent
for like in likes:
like.delete()
feed.delete()
if parent:
parent.calculate_comments()
return HttpResponse()
else:
return HttpResponseForbidden()
except Exception:
return HttpResponseBadRequest()
以上是关于对指定消息的删除的逻辑代码,首先利用feed_id从页面中获取name或则id为feed的元素id。
随后将其与数据库中feed进行比较获取数据库中的元素。判断语句中,将上面的数据库中的相应表的对应
列和从前端页面传来的相应值进行比较,如果条件成真,遍历获取的feed表中的liles列表,最后利用delete
对其进行删除,最后再利用delete将feed表进行删除。