ManyToOneRel和ForeignKey的区别?
在Django中,ManyToOneRel和ForeignKey字段有什么区别呢?
2 个回答
55
Django的关系模型只提供了三种类型的字段,并且有详细的说明,分别是 OneToOneField、ForeignKey 和 ManyToManyField,它们对应的内部关系如下:
- OneToOneField -> OneToOneRel(一对一关系)
- ForeignKey -> ManyToOneRel(多对一关系)
- ManyToManyField -> ManyToManyRel(多对多关系)
想了解更多细节,可以查看 django.db.models.fields.related 的源代码。
51
ManyToOneRel
不是一个 django.db.models.fields.Field
,它是一个在 Django 内部使用的类,但用户的代码中并不会直接用到它。