If I have:
如果我有:
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)
How do I get the apps that have a particular module?
如何获得具有特定模块的应用程序?
If m is a Module object. I know m.config_set.all() gives me all the configurations that have module m. And this:
如果m是一个模块对象。我知道。config_set.all()给我所有的配置模块m。
l = []
for conf in m.config_set.all():
l.append(conf.config_app.app_name)
gives what I want, but is there a more terse syntax to achieve same?
给出我想要的,但是有更简洁的语法来实现吗?
Thanks
谢谢
2 个解决方案
#1
1
try it:
试一试:
Config.objects.filter(config_modules=m).values('config_app__app_name')
hope it help
希望它帮助
#2
0
To obtain distinct apps:
获得不同的应用程序:
config.objects.filter(config_modules=m).distinct(
'config_app').values('config_app__app_name')
#1
1
try it:
试一试:
Config.objects.filter(config_modules=m).values('config_app__app_name')
hope it help
希望它帮助
#2
0
To obtain distinct apps:
获得不同的应用程序:
config.objects.filter(config_modules=m).distinct(
'config_app').values('config_app__app_name')