class dbview(models.Model):
# field definitions omitted for brevity
class Meta:
db_table = 'read_only_view'
def main(request):
result = dbview.objects.all()
Gefangen eine Ausnahme beim Rendern anzuzeigen: (1054, "Unknown column 'read_only_view id' in 'field list'")Django: Querying schreibgeschützt ohne Primärschlüssel
ist es kein Primärschlüssel kann ich in der Ansicht sehen. Gibt es eine Problemumgehung?
Kommentar:
Ich habe keine Kontrolle über die Ansicht, die ich mit Django zugreife. Der MySQL-Browser zeigt dort Spalten, aber keinen Primärschlüssel.
Vielen Dank, das ist wirklich sehr hilfreich! – dmi
Sehr hilfreich. Eine Sache hinzuzufügen; Wenn die Spalte, die Sie für einen Primärschlüssel verwenden möchten, ein CHAR-Typ ist, darf sie nicht länger als 255 Zeichen sein. –
Dies betrifft nicht wirklich die Frage, die eine DB-Ansicht, keine Tabelle betrifft. Du hast eines deiner Felder als PK für Django angegeben, egal ob es das ist oder nicht. Sie können damit durchkommen, da es niemals ein Einfügen/Aktualisieren der Beziehung über das ORM geben wird. Siehe [die Antwort von David S] (http://stackoverflow.com/a/11594959/519015) und meinen Kommentar dazu für mehr über diese Technik. –