gpt4 book ai didi

python - Django 模型选择字段命名约定

转载 作者:行者123 更新时间:2023-12-01 09:16:59 25 4
gpt4 key购买 nike

选择字段名称的命名约定是什么。

class Student(models.Model):
ACTIVE= 'active'
INACTIVE= 'inactive'
NOT_AVAILABLE= 'not-available'
STATUS_CHOICES = (
(ACTIVE, 'Active'),
(INACTIVE, 'Inactive'),
(NOT_AVAILABLE, 'Not available'),
)
status = models.CharField(
max_length=15,
choices=STATUS_CHOICES ,
default=INACTIVE,
)

我应该为 NOT_AVAILABLE 字段选择什么命名约定?

不可用not_available

最佳答案

这些选择并没有什么神奇之处。左边的元组项(让我们称之为)存储在数据库中,右边的元组项(让我们称之为) >) 是这些值的显示(因此是更易于理解的值)。

这个想法是,可以是文化变体(例如,取决于翻译的语言),而不变:无论设置如何,键通常始终相同。由于它们存储在数据库中,因此它们不必很漂亮,因为程序员应该能够理解它们的含义。然而,如果也翻译键,那么这可能意味着在更改服务器的语言后,Django 无法再解释包含旧翻译中的项目的行。因为'active'当然不等于'actief'(荷兰语翻译)。

我个人的建议是在此处使用下划线,因为它也是一个 Python 标识符,因此您稍后可以将它用于 getattr(..) 操作。例如:

getattr(Student, some_student.status.upper())

然后可用于获取 STUDENT.NOT_AVAILABLE,以防 some_student 具有 status 'not_available' string,但正如之前所说,前者和后者的方法都可能有两种原因。

关于python - Django 模型选择字段命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51162754/

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