I have inserted a definition for a view in $template_dir/sql/$someTableName.sql file. (create or replace view) so every time I run syncdb, the db views are created.
syncdb
Try to use python manage.py inspectdb or python manage.py inspectdb > models.py
See Unmanaged models
You define the model as usual and add managed = False to the meta options:
managed = False
class MyModel(models.Model): ... class Meta: managed = False