一个处理数据库视图的简单django应用程序。
django-database-view的Python项目详细描述
一个简单的可插入应用程序,允许使用数据库视图
到目前为止,只有mysql支持作为后端,但是如果 必要的
快速启动
将“dbview”添加到已安装的应用程序设置中,如下所示:
INSTALLED_APPS=(...'dbview',)
在models.py中创建扩展dbview.dbview的类 这个:
fromdjango.dbimportmodelsfromdbviewimportDbViewclassModelA(models.Model):fielda=models.CharField()fieldc=models.IntegerField()classMyView(DbView):fieldA=models.OneToOneField(ModelA,primary_key=True,db_column='fielda__id')fieldB=models.IntegerField(blank=True,null=True,db_column='fieldb')@classmethoddefview(klass):''' This method returns the SQL string that creates the view, in this example fieldB is the result of annotating another column '''qs=modelA.objects.all().\ annotate(fieldb=models.Sum('fieldc')).\ annotate(fielda__id=models.F('pk')).\ order_by('fielda__id').\ values('fielda__id','fieldb')returnstr(qs.query)
然后为视图生成创建迁移点,编辑 迁移并修改,添加:from dbview import CreateView和 将调用migrations.CreateModel的行替换为 CreateView。
迁移数据库并开始使用数据库视图