Pregunta

He insertado una definición para una vista en $ archivo someTableName.sql / sql / $ template_dir. (Crear o sustituir vista) por lo que cada vez que funciono syncdb, se crean las vistas db.

¿Puedo crear en models.py una clase Python que accede a ese punto de vista?

¿Es mejor la práctica de usar sólo la funcionalidad de SQL prima de pitón en su lugar?

--- --- EDITAR

Otro problema que tengo es que la vista no tiene una clave principal, pero Django parece estar asumiendo que no será uno porque me sale un error caught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'") Pero no tengo un miembro de tales definido:

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

Así que mi conjetura es que Django razonablemente ve que no se define una clave primaria en la clase CurrentLeagues, así que Django asume que hay una que se llama id. ¿Hay una manera de decirle a Django que no existe una clave principal (ya que esto es en realidad una vista), o es que ni siquiera mi problema?

¿Fue útil?

Solución

modelos no administrados

Se define el modelo como de costumbre y agrega managed = False a las opciones meta:

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

Otros consejos

Trate de usar inspectdb python manage.py o python manage.py inspectdb> models.py

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top