美文网首页
一对多,多对多,建立关系,删除关系

一对多,多对多,建立关系,删除关系

作者: 叶田的学习笔记 | 来源:发表于2018-10-19 15:39 被阅读0次

前提,多对多关系如下:

class ArticlePost(models.Model):
    users_like = models.ManyToManyField(User,related_name='articles_like',blank=True)       #点赞功能

建立关系,删除关系,代码如下;

@csrf_exempt
@require_POST
@login_required(login_url='/account/login/')
def like_article(request):
    article_id = request.POST.get('id')
    action = request.POST.get('action')
    if article_id and action:
        try:
            article = ArticlePost.objects.get(id=article_id)
            if action == 'like':
                article.users_like.add(request.user)  
                return HttpResponse('1')
            else:
                article.users_like.remove(request.user)
                return HttpResponse('2')
        except:
            return HttpResponse('no')

官方文档说明:
https://docs.djangoproject.com/zh-hans/2.1/ref/models/relations/

如果不同对象之间建立了一对多或者多对多的关联关系,那么就可以使用add(*objs, bulk=True)方法增加属性的值从而建立两个对象的关系。
如果是相反操作,就用remove(),即把相关联的对象的关系删除。

相关文章

网友评论

      本文标题:一对多,多对多,建立关系,删除关系

      本文链接:https://www.haomeiwen.com/subject/yniyzftx.html