我有一个可以采用任意数量主题的应用程序模型:
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 会更困难。不过,我会留下这个问题,因为虽然我的任务解决了,但这个问题仍然没有得到回答。