Django 当多对多表更新时,如何仅获取添加到此对象的
在本例中,当我打印kwargs.get('instance').follow.all()时,我可以得到follow标签的整个列表,但我只想得到添加的标签,我的意思是我正在搜索打印kwargs.get('instance').follow.this(),就像jquery一样,我们只做“this.append()”添加的标签 好吧,兄弟,问题解决了 已解决的部分在代码中:)来自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
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 :)))