Django 当多对多表更新时,如何仅获取添加到此对象的

Django 当多对多表更新时,如何仅获取添加到此对象的,django,django-models,django-views,Django,Django Models,Django Views,在本例中,当我打印kwargs.get('instance').follow.all()时,我可以得到follow标签的整个列表,但我只想得到添加的标签,我的意思是我正在搜索打印kwargs.get('instance').follow.this(),就像jquery一样,我们只做“this.append()”添加的标签 好吧,兄弟,问题解决了 已解决的部分在代码中:)来自m2m\u更改的信号: 主键集 对于pre\u add、post\u add、pre\u remove和post\u rem

在本例中,当我打印kwargs.get('instance').follow.all()时,我可以得到follow标签的整个列表,但我只想得到添加的标签,我的意思是我正在搜索打印kwargs.get('instance').follow.this(),就像jquery一样,我们只做“this.append()”添加的标签

好吧,兄弟,问题解决了

已解决的部分在代码中:)

来自
m2m\u更改的信号:

主键集

对于
pre\u add
post\u add
pre\u remove
post\u remove
操作,这是一组已添加到关系或从关系中删除的主键值

您可以从
kwargs
访问
pk\u set
,以检查添加/删除了哪些主键值

您可以使用此
pk\u集
从数据库中获取相应的对象。

来自
m2m\u更改的信号:

主键集

对于
pre\u add
post\u add
pre\u remove
post\u remove
操作,这是一组已添加到关系或从关系中删除的主键值

您可以从
kwargs
访问
pk\u set
,以检查添加/删除了哪些主键值


您可以使用此
pku集
从数据库中获取相应的对象。

我2秒钟前刚刚在文档中查找了这个主题pku集,即destiny man:)),好的,我将尝试:))太酷了!大多数情况下,如果文档良好且维护良好,查看文档会很有帮助。当然,为了获取添加对象-->列表的id(kwargs.get('pk_set'))[0],它会返回其id,所以我们很高兴:))请按照上面评论中的链接了解
当有人回答我的问题时我该怎么办?
我2秒钟前还在文档中查找这个主题pk_set,那就是destiny man:)),好的,我会试试看:))太酷了!大多数情况下,如果文档良好且维护良好,查看文档会很有帮助。当然,为了获取添加对象-->列表的id(kwargs.get('pk_set'))[0],它会返回其id,所以我们很高兴:))请按照上面评论中的链接了解
当有人回答我的问题时我应该怎么做?
from django.contrib.auth.models import User

from django.db.models.signals import post_save, m2m_changed
from django.dispatch import receiver
# Create your models here.

class FollowersModel(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, related_name='usr')
    follow = models.ManyToManyField(User, related_name="whom")
    my_followers = models.ManyToManyField(User, related_name='my_followers')

    update = models.DateTimeField(auto_now=True)
    timestamp = models.DateTimeField(auto_now_add=True)

    def __unicode__(self):
        return str(self.user)

@receiver(m2m_changed, sender=FollowersModel.follow.through)
def follow_by_follow_add_or_remove(sender, **kwargs):
    if kwargs.get('action') == 'post_add':
        print kwargs.get('instance').follow.all()

        **solved part**
        print list(kwargs.get('pk_set'))[0]
        # then it returns the id of the added object :)))