Pergunta

Inseri uma definição para uma visualização no arquivo $ template_dir/sql/$ em someblename.sql. (Crie ou substitua a exibição) Então toda vez que eu corro syncdb, as visualizações de banco de dados são criadas.

Posso criar em modelos.py uma classe python que acessa essa visualização?

É melhor praticar apenas usar a funcionalidade SQL bruta do Python?

---EDITAR---

Outro problema que tenho é que a visão não tem uma chave primária, mas Django parece estar assumindo que haverá um porque eu recebo um erro caught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'") Mas eu não tenho esse membro definido:

Class CurrentLeagues(models.Model):
        League = models.ForeignKey(League)
        class Meta:
                managed = False

Então, meu palpite é que Django vê razoavelmente que eu não defino uma chave primária na classe CurrentLeagues, então Django assume que há um chamado id. Existe uma maneira de dizer a Django que não há chave primária (já que isso é realmente uma visão), ou isso nem é meu problema?

Foi útil?

Solução

Ver Modelos não gerenciados

Você define o modelo como de costume e adiciona managed = False para as opções de meta:

class MyModel(models.Model):
    ...
    class Meta:
         managed = False

Outras dicas

Tente usar o python gerencia.py inspetdb ou python gerencia.py inspetdb> models.py

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top