为 ManyToMany 字段赋值

Assigning Value(s) to ManyToMany Field

我正在尝试为订单 class 中的 ManyToMany 字段赋值。

def assign_order(request, user_id):
    order_id = request.session.get('order_id')
      #picking this session from a previous fxn allowing me to call the order.id
    order = get_object_or_404(Order, id=order_id)

    employee = Employee.objects.filter(user_id=user_id)
      #Employee is a profile model leveraging an AbstractUser

    order.deliverer.set(employee)
      #using .set() for direct assignment of user(Employee) onto ManyToMany field on "Order"
    order.status = 'deliverer_assigned'
    order.save()

此架构的问题是 fxn 将始终覆盖我的 ManyToMany 字段,而不是将新用户(员工配置文件)附加到它上面。

1.有没有更好的方法来完成我需要的?即在管理员外部更新 ManyToMany 字段?

2。在这种情况下如何防止覆盖问题?

正在使用

order.deliverer.add(employee)

而不是 .set 应该可以。

有关详细信息,请参阅 django docs