python - Rujukan foreignKey model Django
黄舟
黄舟 2017-05-18 10:46:04
0
1
583

Saya menjangkakan untuk mencapai kesan berikut apabila menggunakan Django untuk mencipta pangkalan data

Jadual 1

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P),
PRIMARY KEY (LastName)
)

Jadual 2

CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)

Kunci asing Jadual 2 berkaitan dengan Id_P Jadual 1, bukan Nama Akhir

Tetapi dalam django

Id_P = models.ForeignKey('Persons',db_column='Id_P')

Ditulis seperti ini, django secara automatik akan mengaitkannya dengan kunci utama jadual Orang, bukan Id_P yang saya jangkakan

Sila beritahu saya bagaimana untuk menulis semula untuk mencapai kesan yang saya inginkan?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(1)
Ty80

Nampaknya parameter db_column tidak dapat menentukan medan mana yang hendak digunakan sebagai kunci asing (saya rasa poster telah menggunakan sqlalchemy),

Semak dokumen Django ForeignKey untuk parameter ini

ForeignKey.to_field
Medan pada objek berkaitan yang berkaitan dengannya, secara lalai, Django menggunakan kunci utama objek berkaitan Jika anda merujuk medan yang berbeza, medan itu mesti mempunyai unique=True.

Jadi cuma tukar db_column kepada to_field

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan