什么是「;相关的“U名称”;与peewee中的ForeignKeyField对象一起使用的属性,python';什么是ORM库?

什么是「;相关的“U名称”;与peewee中的ForeignKeyField对象一起使用的属性,python';什么是ORM库?,python,peewee,Python,Peewee,我试图使用python的peewee库并创建一些外键来关联两个不同的模型。我正在阅读peewee文档 其中有几个点在创建ForeignKeyField时使用“related_name”属性。它似乎遵循一种通用模式,“related_name”的值是您正在创建的类的复数形式(Tweet->“tweets”)。该值是否为要在其中创建ForeignKeyField的表中的列创建名称?这个“related_name”属性是如何使用的以及为什么使用的?我实际上从未使用过peewee,但是从文档和我对Dj

我试图使用python的peewee库并创建一些外键来关联两个不同的模型。我正在阅读peewee文档


其中有几个点在创建ForeignKeyField时使用“related_name”属性。它似乎遵循一种通用模式,“related_name”的值是您正在创建的类的复数形式(Tweet->“tweets”)。该值是否为要在其中创建ForeignKeyField的表中的列创建名称?这个“related_name”属性是如何使用的以及为什么使用的?

我实际上从未使用过peewee,但是从文档和我对Django ORM的了解(看起来非常相似),我可以告诉你:

当您创建一个
ForeignKeyField
时,您引用的模型(FK“destination”)也将使用一个新属性进行扩展,该属性允许您“向后”访问关系

在您链接的示例教程中,您可以看到,在FK声明之后,他们可以键入
user.tweets
,其中属性
tweets
将您传递的名称作为与FK字段相关的
名称

它通常是复数的原因是ForeignKey定义了一个多对一关系,因此反过来是一对多:在本例中,每个Tweet对一个用户都有一个FK,因此easch用户将被允许有多个Tweet