python - 通过Django中的相关模型查询

标签 python django django-queryset

如果我有:

class App(models.Model):
    app_name = models.CharField(...)

class Module(models.Model)
    module_name = models.CharField(...)

class config(models.Model)
    config_date    = models.DateTimeField()
    config_modules = ManyToManyField(Module)
    config_app     = models.ForeignKey(Application)

如何获取具有特定模块的应用程序?

如果 m 是一个 Module 对象。我知道 m.config_set.all() 给了我所有的 具有模块 m 的配置。还有这个:

l = []
for conf in m.config_set.all():
    l.append(conf.config_app.app_name)

给出了我想要的,但是是否有更简洁的语法来实现同样的目标?

谢谢

最佳答案

尝试一下:

Config.objects.filter(config_modules=m).values('config_app__app_name')

希望对你有帮助

关于python - 通过Django中的相关模型查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745657/

相关文章:

python - 使用 python 将数据框上传到 google 表格时出错?

python - Django 模板 : Is there a way to query a specific object based on its property (instead of iterating over all)?

django - 没有关系时计数并返回零的注释

django - 使用 Django 中的多个字段进行计数(不同)

python - 将多种算法与 sklearn 管道进行比较

python - 是否可以在 django 1.2.1 中将注释与 defer/only 结合使用?

python - Pandas.resample 为非整数倍频

python - 如何在 matplotlib 中使用日期时间更改 x 轴的范围?

python - 在 Django 中使用案例

python - 在 django ORM、自定义查询集字段中使用计数和聚合(Sum)