рассуждении я стараюсь, что свое мысленное представление об объекте как можно ближе соответсовалу объекту в реальной жизни.
Взять то-же именовывание поля many2one.
- До того, как в 2019 году, писал что-либо на python, php и js, something_id - всегда обозначало id этого something, а не сам something.
- В документациях по сторонних приложений всегда было такое обозначение в json:
{"customer": {id: 1, name: "ааа"}}.
- В том-же js-части модуля mail из odoo версии 15.0 something - это объект something, а не something_id. Возможно даже в старых версиях odoo также, но сильно не смотрел.
- В каком-нибудь SQLAlchemy, если хочешь partner_id в PostgresSQL таблице, а в Python partner - без проблем. Глянь на документацию на сайте sqlalchemy или может быть вызови help(Column).
- Штатный сотрудник компании-enterprise-клиента при написании Automated Action пытается проверить наличие line.product_id в массивом чисел и недоумевает, что не так. Он видел в SQL-таблице как этот product_id выглядит. Спросил у меня в телеге, что не так, я ответил про line.product_id.id. Лицо его не видел.
- про использование _id в полях вида число/строка я писал выше.
Вообщем примерно у меня вот такие мысли про именовывание many2one переменных, которые сформировались в моей практике на основе разных источников.
А тут завели нафиг про то, что в Odoo Guidelines нарисано many2one поле should заканчиваться на _id. Не знаю, почему закрепили для питона, а для js нет. Хвала Gery "не знаю как читать его фамилию", который автор OWL. Более менее серьезный аргумент - это усложняет разработку или review (не знаю, как по-русски).
Ладно там Odoo Guidelines, но вот блять ПДД сука тут причем? То что Guidelines - это общеприятные где-то правила и ПДД Эстонии - это тоже общепринятные где-то правила? "Быдлокод", "Не публикуйте в Apps", "Индус".
Кстати, пока весь этот текст писал, вспомнил, что should и must - это разные вещи. Поэтому по-тому же Odoo Guidelines partner = fields.Many2one("res.partner) - не нарушает, ибо should это вам не must.
*До того, как в 2019 году начал работать с Odoo
Обсуждают сегодня