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