python - Django ManyToMany 字段从没有 'for' 的对象中获取所有值

标签 python django manytomanyfield

是否可以在不使用“for”的情况下从对象获取 ManyToMany 的值?

模型.py

class Citizenship(models.Model):
    name = models.CharField(max_length=100)

    class Meta:
        verbose_name_plural = "Citizenship"

    def __str__(self):
        return self.name

class Anexa(models.Model):
    name = models.CharField(max_length=150, help_text="3")
    citizenship = models.ManyToManyField(Citizenship, help_text="4")

我有一个名为 Alex 的 Anexa 对象,我有 4 个公民身份。我正在寻找与此等同的东西:

for citizenships in x.citizenship.all():
    print(citizenships.name)

最佳答案

您将获得的最接近值列表 https://docs.djangoproject.com/en/1.11/ref/models/querysets/#values-list ,您仍然需要循环遍历才能单独打印。

x.citizenship.values_list('name', flat=True)

关于python - Django ManyToMany 字段从没有 'for' 的对象中获取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44974399/

相关文章:

django - Django:如何在不引发异常的情况下回滚(@ transaction.atomic)?

python - 如何选择 Django 中不属于多对多关系的所有对象

python - Django ifequal 和 if 语句总是转到 Else 标签

Django EmailField 和带有名字和姓氏的完整电子邮件地址

python - django manytomanyfield.add() 方法

forms - 根据先前表单上的选择,在formtools向导中限制Django表单的ManyToManyField查询集

python - Django 模板 : How to determine which object/model a queryset is composed of?

python - 使用 pygame 时如何删除 "Hello from the pygame community"控制台警报?

python - 使用内存 View 读取二进制文件

python - 在估计器 model_fn 中使用 keras 模型 API 时出现无效参数错误