ManyToOneRel和ForeignKey的区别?

36 投票
2 回答
31192 浏览
提问于 2025-04-17 18:26

在Django中,ManyToOneRel和ForeignKey字段有什么区别呢?

2 个回答

55

Django的关系模型只提供了三种类型的字段,并且有详细的说明,分别是 OneToOneFieldForeignKeyManyToManyField,它们对应的内部关系如下:

  • OneToOneField -> OneToOneRel(一对一关系)
  • ForeignKey -> ManyToOneRel(多对一关系)
  • ManyToManyField -> ManyToManyRel(多对多关系)

想了解更多细节,可以查看 django.db.models.fields.related 的源代码。

51

ManyToOneRel 不是一个 django.db.models.fields.Field,它是一个在 Django 内部使用的类,但用户的代码中并不会直接用到它。

撰写回答