Mam starszą bazę danych z tabelą przechowującą relację wiele do wielu, ale bez jednej kolumny klucza głównego. Czy jest jakiś sposób, aby przekonać Django, by i tak go użył?Django: Wiele do wielu za pośrednictwem tabeli z kluczem złożonym (tylko)
Schematycznie:
Product 1<---->* Labeling *<---->1 Label
tabela Labeling
wykorzystuje (product_id,label_id)
jako związek klucz podstawowy, a ja nie widzę żadnego sposobu, aby poinformować o tym Django. (Po prostu użycie through
daje mi Unknown column 'labeling.id' in 'field list'
.)
Czy muszę przywrócić niestandardowy kod SQL? Czy może czegoś brakuje?
Niezupełnie, utworzy również pole "id". Istnieje [obejście] (https://stackoverflow.com/a/28712960/52499). Ale tak naprawdę w moim przypadku zdecydowałem się na dodatkowe pole 'id'. Brak starszych tabel. –