我的理解是,OneToOneField用於僅1行數據從表2(最喜歡的水果)鏈接到一個數據行中表1(人名)和ForeignKey的是在多行數據(品牌/製造商)表2(車型)對1行數據表1(品牌/製造商)。使用哪一個:OneToOne與ForeignKey?
我的問題是,如果我有多個表,但只有一行從連回表1每個表的數據我應該怎麼用。例如:我有Table1作爲「汽車」,我的其他表格是「保險信息」,「汽車信息」,「修理歷史」。我應該使用ForeignKey還是OneToOne?
我的理解是,OneToOneField用於僅1行數據從表2(最喜歡的水果)鏈接到一個數據行中表1(人名)和ForeignKey的是在多行數據(品牌/製造商)表2(車型)對1行數據表1(品牌/製造商)。使用哪一個:OneToOne與ForeignKey?
我的問題是,如果我有多個表,但只有一行從連回表1每個表的數據我應該怎麼用。例如:我有Table1作爲「汽車」,我的其他表格是「保險信息」,「汽車信息」,「修理歷史」。我應該使用ForeignKey還是OneToOne?
你只需要問自己:「對象A有很多對象B還是對象B有很多對象A?」
這些表的關係每一個可能是不同的:
ForeignKey意味着您正在引用另一個表內存在的元素。 OneToOne,是一種ForeignKey,其中table1和table2的元素唯一地綁定在一起。
你最喜歡的水果的例子是OneToMany。因爲每個人都有獨特的最喜歡的水果,但每個水果可以有多個人列出特定的水果作爲他們的最愛。
OneToOne關係可以用你的Car例子完成。 Cars.VIN可能與CarInfo.VIN有OneToOne關係,因爲一輛車只會有一個與之關聯的CarInfo(反之亦然)。
感謝您的快速回答!非常簡單易懂。 :) – Wesley
當然可以。如果你需要額外的信息,請告訴我。否則,如果這能解決您的問題,請不要忘記打勾 – jdi