如果我有:
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)
给出了我想要的东西,但是有更简洁的语法来实现它吗?
由于
答案 0 :(得分:1)
试一试:
Config.objects.filter(config_modules=m).values('config_app__app_name')
希望有所帮助
答案 1 :(得分:0)
获取不同的应用:
config.objects.filter(config_modules=m).distinct(
'config_app').values('config_app__app_name')