Get Started
Examples
from django.db import models
from django_pgviews import view as pg
class Customer(models.Model):
name = models.CharField(max_length=100)
post_code = models.CharField(max_length=20)
is_preferred = models.BooleanField(default=False)
class Meta:
app_label = 'myapp'
class PreferredCustomer(pg.View):
projection = ['myapp.Customer.*',]
dependencies = ['myapp.OtherView',]
sql = """SELECT * FROM myapp_customer WHERE is_preferred = TRUE;"""
class Meta:
app_label = 'myapp'
db_table = 'myapp_preferredcustomer'
managed = False
NOTE It is important that we include the managed = False in the Meta so
Django 1.7 migrations don't attempt to create DB tables for this view.
The SQL produced by this might look like:
To create all your views, run python manage.py sync_pgviews
You can also specify field names, which will map onto fields in your View: