【发布时间】:2019-05-26 13:01:12
【问题描述】:
我对如何在 django admin 中执行特定的查询集有点迷茫。以下是我的模型。
类人(models.Model):
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 = dict(g2)
结果给了我“id”和“电话号码”。
任何帮助将不胜感激。
【问题讨论】:
-
基本上我想知道如何在 django admin 中为创建的自定义操作实现查询集。
标签: django django-admin django-queryset django-admin-tools django-admin-actions