如何在 Django 中使用 MySQL 视图?
How to use MySQL view in django?
我想使用我在 MySQL 中创建的视图作为 Django 中的模型。我想在我的内部网站上显示我公司正在进行的未完成流程的状态。我在论坛上只找到了相当旧的条目,所以有没有一种简单的方法可以通过 syncdb
传递 MySQL 视图?
如果没有,假设我有两个 table:
- hard-writen 子流程的里程碑,例如:
table 进程和子进程信息作为上面 table 的 ID:
我在 MySQL 中的观点会做类似的事情。
4) 所以结果是:
我想在我的django APP中只有一个模型,即第4个结果。
最快的方法是什么?自定义 SQL 查询?还是我需要有 progress_tb
和 proc_tb
的模型并将它们组合起来?我如何多次引用相同的 table(如 Access/MySQL 我有 progress_tb
和 progress_tb_1
等等)?到现在为止,我只知道如何进行过滤查询,但是我如何 "add" 加入 table 的几列?我尝试了 django 的 "extra" 选项,但我不明白它是如何工作的:(
您可以通过嵌套 Meta
class 上的 managed = False
字段声明将视图指定为 而非 由 Django 管理:
class MyViewModel(models.Model):
field1 = models.IntegerField()
[...]
class Meta:
managed = False
db_table = 'MyView' # your view name
managed = False
将导致 python manage.py syncdb
忽略该模型进行同步。
我想使用我在 MySQL 中创建的视图作为 Django 中的模型。我想在我的内部网站上显示我公司正在进行的未完成流程的状态。我在论坛上只找到了相当旧的条目,所以有没有一种简单的方法可以通过 syncdb
传递 MySQL 视图?
如果没有,假设我有两个 table:
- hard-writen 子流程的里程碑,例如:
table 进程和子进程信息作为上面 table 的 ID:
我在 MySQL 中的观点会做类似的事情。 4) 所以结果是:
我想在我的django APP中只有一个模型,即第4个结果。
最快的方法是什么?自定义 SQL 查询?还是我需要有 progress_tb
和 proc_tb
的模型并将它们组合起来?我如何多次引用相同的 table(如 Access/MySQL 我有 progress_tb
和 progress_tb_1
等等)?到现在为止,我只知道如何进行过滤查询,但是我如何 "add" 加入 table 的几列?我尝试了 django 的 "extra" 选项,但我不明白它是如何工作的:(
您可以通过嵌套 Meta
class 上的 managed = False
字段声明将视图指定为 而非 由 Django 管理:
class MyViewModel(models.Model):
field1 = models.IntegerField()
[...]
class Meta:
managed = False
db_table = 'MyView' # your view name
managed = False
将导致 python manage.py syncdb
忽略该模型进行同步。