成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

python - Django model foreignKey Reference

瀏覽:97日期:2022-07-25 13:26:23

問題描述

我期待用django創(chuàng)建數(shù)據(jù)庫的時候?qū)崿F(xiàn)以下效果

表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))

表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))

表2的外鍵關(guān)聯(lián)到表一的Id_P,而不是LastName

但在django中

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

這樣寫,django會自動關(guān)聯(lián)到Persons表的主鍵,而非我期待的Id_P

請教一下,要如何改寫,才能實現(xiàn)我的預(yù)期效果?

問題解答

回答1:

看來db_column參數(shù)不能指定使用哪個字段作外鍵(估計樓主使用過sqlalchemy),

查看下django ForeignKey 文檔有這個參數(shù)

ForeignKey.to_fieldThe field on the related object that the relation is to. By default, Django uses the primary key of the related object. If you reference a different field, that field must have unique=True.

所以改db_column為to_field就行了

標(biāo)簽: Python 編程
相關(guān)文章: