Django:对ManyToMany关系的SQL查询

时间:2013-06-07 14:53:51

标签: python sql django phpmyadmin

我有一个可以使用任意数量主题的应用程序模型:

class Application(models.Model):
     themes = models.ManyToManyField(Theme)
     date_check = models.BooleanField(blank=True)
     # other fields...

class Theme(models.Model):
     name = models.CharField(max_length=200)
     # other fields...

我需要提供一个导出的数据库(通过phpMyAdmin),其中只包含至少有一个主题的应用程序(以及其他一些过滤器)。在Django中,这很容易(虽然我确定下面写的不是最简单的方法):

apps = Application.objects.filter(date_check=True)
filtered_apps = []
for a in apps:
    if len(a.get_themes()) >= 1:     # get_themes() returns a comma-separated list of themes
        filtered_apps.append(a)

我只是不知道如何将a.date_check=True and len(a.get_themes()) > 1翻译成SQL,我可以在phpMyAdmin中运行以导出数据库的Excel文件。有什么想法吗?

编辑:我已经通过使用Django直接导出到Excel而不是通过phpMyAdmin解决了这个问题。出于一些奇怪的原因,我认为通过Django将会更加困难。不过,我会提出这个问题,因为虽然我的任务已经解决,但这个问题仍未得到解答。

0 个答案:

没有答案