我对这个主题的搜索导致了关于使用 sql 处理来自模型的数据的答案,但我想做的是有效地创建一些行为类似于 django 其余部分的模型但基于自定义查询,包括加入。
在 Microsoft Access 中,表单和报表可以像基于表一样轻松地基于查询集,并且至少在某些时候这些记录集可以更新。
我希望能够使用 django 的所有功能,但底层模型能够基于查询。那可以吗?
最佳答案
如果您将模型声明为不受 django 管理,则可以执行此操作。但是您必须自己为表/ View 创建 SQL 代码。
class SQLView(models.Model):
# your field definitions
class Meta:
managed = False
db_table = 'your_view_name'
使用 postgresql 作为数据库,您可以创建 View 和规则或触发器来拦截操作。
关于sql - 基于 JOIN 查询创建 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20556638/