Django强调外键的利弊

2024-10-04 07:32:01 发布

您现在位置:Python中文网/ 问答频道 /正文

如PEP8所述,应该用camelcase命名有几个单词的类(例如ProfileAttributeGroup),并用下划线表示变量(profile_attribute_group)。你知道吗

然而,当涉及到django和反向关系(以及模板)时,我们不得不使用小写的类名。你知道吗

例如,如果我们的ProfileAttributeGroupProfile模型有一对一的键,那么反向查找将是profile.profileattributegroup。你知道吗

好的,我们可以重写这个;但是这种小写也发生在DetailViewUpdateView模板以及sql连接(例如someattr.filter(profileattributegroup__isnull=False))中,对此我们无能为力。你知道吗

这让我觉得只将外键名称小写,而不在其中添加任何下划线是有意义的。这样我就不必记住什么时候使用profile_attribute_groupprofileattributegroup。你知道吗

但明确忽略下划线与PEP8相矛盾。你知道吗

我的问题是,还有人对我有怀疑吗?如果忽略我没有考虑过的下划线,将来会有什么坏处吗?你知道吗


Tags: django模板关系groupattributeprofile单词命名
1条回答
网友
1楼 · 发布于 2024-10-04 07:32:01

如果这件事让你那么困扰的话,你当然可以做些什么。所有自动定义反向关系的关系字段也允许您通过指定related_name来覆盖默认值。如果你真的不喜欢profile.profileattributegroup,用related_name='profile_attribute_group'定义一对一字段。你知道吗

相关问题 更多 >