如何获得M2M djnago中每个选定对象的每个ID

问题描述 投票:1回答:1

我想获得选定的imeis的ID

class Mobile(models.Model):
    mobile = models.CharField(max_length=20,unique=True)
    quantity = models.IntegerField()
    imei = models.ManyToMany(Imei,on_delete=models.CASCADE)

class Imei(models.Model):
    imei = models.CharField(max_length=13,unique=True)

如果我选择了10个imei,我想获得所选imeis的10个ID !?我尝试过这种方法,但是没有人工作过!

instance.imei__id 
instance.imei.id
instance.imei_id

我感谢您的帮助

django django-models many-to-many
1个回答
1
投票

instance.imeimanager。您可以通过以下方式访问Imei对象:

instance.imei.all()  # QuerySet of Imei objects

或者如果您仅对pk对象的主键(Imei s感兴趣:

instance.imei.values_list('pk', flat=True)  # QuerySet of Imei primary keys

EDIT:您可以使用:

更新所有值
instance.imei.all().update(active=False)
© www.soinside.com 2019 - 2024. All rights reserved.