使用自定义查询结果作为Django模型的源(MySQL数据库)

时间:2016-04-06 08:33:51

标签: mysql django

我有一个包含大量结构化数据的数据库。我将在这些数据中执行查询。

当我使用视图执行查询时,它将非常有用。我可以创建一个与视图结构相同的模型,然后将其用作“真实”模型。

但是,在我无法创建视图的情况下,我们可以使用Django模型来查询自定义结果集吗?

例如,在MySQL中,我们可以编写查询以将中间结果存储在元组列表中。然后我们可以在列表上执行查询。无论如何我们可以用查询创建的元组列表的结果来提供Django的模型吗?

1 个答案:

答案 0 :(得分:1)

对于使用原始SQL查询提供模型,您可以使用raw()方法。看看这个例子(来自官方参考):

class Person(models.Model):
    first_name = models.CharField(...)
    last_name = models.CharField(...)
    birth_date = models.DateField(...)

#...

for p in Person.objects.raw('SELECT * FROM myapp_person'):
    print(p)

Read more here