我对如何在 django admin 中执行特定的查询集有点迷茫。下面是我的模型。
类人(模型。模型):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=35)
phone_number = models.CharField(null=True, blank=True, max_length=15)
def __str__(self):
return self.first_name
class Meta:
verbose_name_plural = 'People'
类 Group_and_message(models.Model):
name = models.CharField(max_length=30, null=True)
people = models.ManyToManyField(Person)
message_body = models.TextField(max_length=140)
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
def __str__(self):
return self.name
在 Admin 中,我创建了一个自定义操作。
def send_message(modeladmin,request,queryset):通过
我的问题是,当通过复选框在管理仪表板中选择“group_and_message”对象时,能够检索所选对象的“id”和“phone_number”,以便我可以使用它来执行“send_message”自定义操作。
下面是一些基本的查询集步骤,展示了我想要实现的目标(仅用于说明目的)
g = Group_and_message.objects.last() #self 而不是 last 是我想要的;
g1 = g.people.all()
g2 = g1.values_list("id","phone_number");
g3 = 字典(g2)
结果给了我“id”和“电话号码”。
任何帮助将非常感激。