gpt4 book ai didi

python - python 的 ORM 库 peewee 中与foreignkeyfield对象一起使用的 "related_name"属性是什么?

转载 作者:行者123 更新时间:2023-12-01 05:11:45 27 4
gpt4 key购买 nike

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

http://peewee.readthedocs.org/en/latest/peewee/cookbook.html#non-integer-primary-keys-composite-keys-and-other-tricks

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

最佳答案

我实际上从未使用过 peewee,但从文档和我对 Django ORM 的了解(看起来很相似),我可以看出以下内容:

当您创建 ForeignKeyField 时,您引用的模型(FK“目标”)也将使用新属性进行扩展,使您可以“向后”访问关系。

在您链接的示例教程中,您可以看到在 FK 声明之后,他们可以输入 user.tweets,其中属性 tweets 采用您传递的名称FK 字段的 related_name

它通常是复数的原因是ForeignKey定义了多对一关系,所以相反的关系将是一对多:在示例中,每条推文都有一个到用户的FK,因此easch用户将被允许拥有许多推文。

关于python - python 的 ORM 库 peewee 中与foreignkeyfield对象一起使用的 "related_name"属性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24090107/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com