带下划线的Django模型名称?

时间:2019-10-13 02:11:12

标签: django django-models

我有一些微妙的实体,它们对于我的模式的关系,灵活性和表达而言非常重要,因此它们需要单独的模型。

我应该如何命名/区分大小写?

a) Layerinput, Layerhidden, Layeroutput

b) Layer_Input, Layer_Hidden, Layer_Output

c) LayerInput, LayerHidden, LayerOutput

现在,我倾向于使用选项a,以便Django不会对它们进行任何自动的错误处理,但是在文档和代码中看起来并不好。将它们与DRF或graphql一起使用。

4 个答案:

答案 0 :(得分:1)

使用camelCase(选项c),这可以帮助您区分变量中的单词,同时最小化字符(如选项b中一样)

以此为指南:https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

答案 1 :(得分:1)

根据PEP8 conventions

  

类名通常应使用 CapWords 约定。

在Django框架中也遵循这些命名约定。因此,您可以选择第三个选项。

答案 2 :(得分:1)

如果您指的是命名类,则应选择c),如下图所示(从https://docs.djangoproject.com/en/2.1/topics/db/models/#verbose-field-names获取)。enter image description here

如果要引用field_names(例如,上图中的CommonInfo类下的name和age),则django的约定如下:

enter image description here

答案 3 :(得分:0)

CamelCase(选项c)也很有用,因为Django会知道如何在管理站点中呈现模型名称。例如,“ LayerInput”将正确显示为“ Layer input”,而无需在任何地方指定。

相关问题