Ich portiere ein Projekt von Rails nach Django mit einer Legacy-Datenbank. In Rails hatte ich eine polymorphe Assoziation, die es mir erlaubte, jeder Zeile in der Datenbank eine Fußnote hinzuzufügen. Ich versuche das Gleiche in der Django App zu implementieren. Ich habe die Dokumentation zu Generic Relations gefunden und sie sieht perfekt aus. Leider muss ich zuerst neue Felder in meiner Legacy-Datenbank erstellen, um die ContentType-ID für die relevanten Modelle zu speichern. Ich habe nur die polymorphe Assoziation mit 2 Tabellen verwendet, also brauche ich nur die zwei entsprechenden IDs aus der Django-App, aber ich finde nicht den passenden Befehl, um eine ContentType-ID in Django nachzuschlagen.Get ContentType-ID in Django für generische Beziehung
Alle Vorschläge sind sehr willkommen. Ich habe versucht, vorherige Fragen zu durchsuchen, konnte aber nicht finden, wonach ich suche. Vielen Dank für Ihre Zeit und Hilfe.
Vielen Dank! Es sieht so aus, als ob ich die Antwort bekommen hätte, die ich vorher brauchte, ich habe es einfach nicht bemerkt. Sind ContentType-IDs normalerweise Zeichenfolgen? Auf jede Zahl folgt eine "L" - content_type_id für den Buchstaben "43L", für die Zuordnung ist "44L". –
Also weiß ich immer noch nicht, was mit dem 'L' los ist, aber ich habe einfach getan, was ich hätte tun sollen und ging in die zugrunde liegende Datenbank, um den Tisch zu betrachten. Sicher, die Zahlen, die ich bekommen habe, sind korrekt, aber das L ist nirgendwo zu finden. Seltsam. Aber vielen, vielen Dank! –
Das L ist eine sehr nervige Django-Sache - der ID-Typ ist "long int" in der db, unter bestimmten Umständen kommt es daher mit dem L-Anhang heraus. Wenn Sie es in einen int (int (44L) ') umwandeln, sollten Sie 44 erhalten. – Colleen