我有一个包含大量结构化数据的数据库。我将在这些数据中执行查询。
当我使用视图执行查询时,它将非常有用。我可以创建一个与视图结构相同的模型,然后将其用作“真实”模型。
但是,在我无法创建视图的情况下,我们可以使用Django模型来查询自定义结果集吗?
例如,在MySQL中,我们可以编写查询以将中间结果存储在元组列表中。然后我们可以在列表上执行查询。无论如何我们可以用查询创建的元组列表的结果来提供Django的模型吗?
答案 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)