我有一个信号:
@receiver(m2m_changed, sender=Company.users.through)
def user_remove_sync(sender, instance, **kwargs):
if kwargs['action'] == "pre_remove":
for user_pk in kwargs['pk_set']:
user = User.objects.get(pk=user_pk)
if user in instance.admin_users.all():
instance.admin_users.remove(user)
print(instance.admin_users.all())
print
表示一切正常,并且删除了用户,但最后我的更改不适用。我究竟做错了什么?谢谢!
编辑: 我一直都在Django Admin中尝试过此操作。之后,我尝试通过View删除用户,并且一切正常。 最终我发现了这一点: https://timonweb.com/posts/many-to-many-field-save-method-and-the-django-admin/ 而且看起来像个错误。