Ich habe eine Legacy-Datenbank mit einer Tabelle, die eine Viele-zu-Viele-Beziehung speichert, aber ohne eine einzige Primärschlüsselspalte. Gibt es irgendeine Möglichkeit, Django davon zu überzeugen, es trotzdem zu benutzen?Django: Viele-zu-viele durch eine Tabelle mit (nur) zusammengesetztem Schlüssel
Schematisch:
Product 1<---->* Labeling *<---->1 Label
Die Labeling
Tabelle verwendet (product_id,label_id)
als Verbindung Primärschlüssel, und ich sehe keinen Weg Django darüber zu informieren. (Nur through
gibt mir Unknown column 'labeling.id' in 'field list'
.)
Muss ich auf benutzerdefinierte SQL zurückgreifen? Oder fehlt mir etwas?
Nicht wirklich, es wird 'ID' Feld auch erstellen. Es gibt einen [Workaround] (https://stackoverflow.com/a/28712960/52499). Aber in meinem Fall entschied ich mich, mit einem zusätzlichen 'id'-Feld zu gehen. Keine Legacy-Tabellen –