首页 > 解决方案 > django 如何知道是否将新项目添加到 manytomanyfield

问题描述

我正在使用 add() 方法向 m2m 添加项目,但是在添加项目之后,我怎么知道是否添加了任何新项目,为了更好地理解,请查看我的代码

def new_or_get(self, request):
    user = request.user
    cart_id = request.session.get("cart_id", None)
    kart = get_or_none(Cart,id=cart_id)
    if kart:
        new_obj = False
        cart_obj = kart
        if user.is_authenticated and cart_obj.user is None:
            try:
                cart = self.get(user=user)
                cart.products.add(*cart_obj.products.all())
                cart.messages = 'A'
                cart.save()
                cart_obj.delete()
                cart_obj = cart
            except:
                cart_obj.user = user
                cart_obj.save()
        else:
            cart_obj = kart

我想要的是cart.messages = 'A'只会在新商品添加到购物车时执行,是否有任何内置方法,如果没有,我该怎么做。

标签: djangopython-3.xdjango-modelsdjango-viewsmanytomanyfield

解决方案


推荐阅读