python - 如何反转 SQL 查询以到达其 Django 源?

标签 python mysql django python-2.7 django-models

是否可以反转复杂的 SQL 查询(由连接和分组依据组成)以到达其 Django 源?

按来源,我的意思是可能触发查询的模型?

例如,考虑模型:

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

在这些模型上使用分组依据和左外连接的查询被触发。我可以追溯吗?

最佳答案

也许这就是您正在寻找的答案。

实际上,我从您的评论“我有一个查询,我需要知道触发该查询时涉及哪些模型”中得到的信息,您想要跟踪查询中涉及的模型/表。

因此,您可以在对象上使用 .query。例如;

exm = Example.objects.all()

print exm.query # This will give you the query which will be triggered in the back-end.

您可以从代码中进行调试,也可以使用django-debug-toolbar

关于python - 如何反转 SQL 查询以到达其 Django 源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754434/

相关文章:

python - 使 LiveServerTestCase 在每次测试之前不调用 setUp()

python - 无法通过在 Python 中搜索 csv 文件获得结果

python - 将 pandas 数据框与 python 结合消除公共(public)列

mysql - 从远程服务器连接到 Amazon EC2 上的 mysql - 错误 2003

django - 我们可以在 django 的单个 html 模板中扩展多个 html 吗?如果是,那么如何?

django - DATA_UPLOAD_MAX_MEMORY_SIZE 不限制POST发送的数据大小

javascript - mechanize python 库是否能够等到 javascript 动态加载内容后再获取页面内容

mysql - 在 MySQL 5.7 中使用 `Max()` 和 `GROUP BY`

mysql - 遇到语法错误

django - 在 Django 中存储用户事件