Название модели Django с подчеркиванием? - PullRequest
0 голосов
/ 13 октября 2019

У меня есть немного разные сущности, которые достаточно важны с точки зрения отношений, гибкости и выражения моей схемы, что они требуют отдельных моделей.

Как мне назвать / описать их?

a) Layerinput, Layerhidden, Layeroutput

b) Layer_Input, Layer_Hidden, Layer_Output

c) LayerInput, LayerHidden, LayerOutput

Прямо сейчас я использую опцию a, чтобы Django не делал с ними ничего слишком автоматического, но это победило 'отлично смотрятся в документации и коде. Будет использовать их с DRF или graphql.

Ответы [ 4 ]

1 голос
/ 13 октября 2019

В соответствии с соглашениями PEP8 ,

Имена классов обычно должны использовать соглашение CapWords .

Эти соглашения об именахтакже следуют в рамках Django. Таким образом, вы можете выбрать третий вариант.

1 голос
/ 13 октября 2019

Если вы имеете в виду именование классов, вы должны выбрать c), как показано на рисунке ниже (получено из https://docs.djangoproject.com/en/2.1/topics/db/models/#verbose-field-names). enter image description here

Если вы ссылаетесь на имена полей (например, имя и возраст в классе CommonInfo на рисунке выше), тогда для django действует следующее соглашение:

enter image description here

1 голос
/ 13 октября 2019

Используйте camelCase (опция c), это поможет вам дифференцировать слова в переменной при минимизации символов (как в опции b)

Используйте это как руководство: https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

0 голосов
/ 13 октября 2019

CamelCase (опция c) также полезна, потому что Django будет знать, как отображать названия вашей модели на сайте администратора. Например, «LayerInput» будет корректно отображаться как «Layer input» без необходимости указывать его где-либо.

...