Django 模型類ForeignKey 選項參數


to_fields   

被關聯字段用於關聯的字段,默認情況下,Django使用被關聯對象的主鍵

如果主表的主鍵有可能發生改變,則需要在外鍵字段的參數中to_fields指定到被關聯主表的一個必傳(unique)的某個字段,使其不影響之前的業務邏輯

 

relate_name   

舉例:一個人物信息表(PeopleInfo)擁有的字段是models.ForeignKey(Book),則默認會有一個relate_name為"peopleinfo_set"(被關聯模型類小寫+_set),如果在外鍵關系里修改了relate_name ,如,model.ForeignKey(Book, relate_name=“person”),則People的對象描述符號就變成了“person”,可以通過book.person 取到所有關聯這本書的人物 (未指定之前是通過book.peopleinfo_set)  

真正的用處是在一個對象被另一個對象關聯不止一次時,這個參數才真正有用

舉例:如果一個Story 對象既有frist_category 字段,又又second_category 字段,為確保Category 對象擁有正確的對象描述符,需要指定relate_name

      models.ForeignKey(Category, relate_name="first_story")

      models.ForeignKey(Category, relate_name="second_story")

這樣 Category對象才會自動擁有frist_story和second_story 的對象描述符

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM