la creación de modelo de Django de vista de base de datos / SQL existente?
-
20-09-2019 - |
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?
Solución
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