Иногда я просто поражаюсь, как некоторые простые вещи приходится делать сложно. Опыт работы с C# в целом и ASP.NET в частности нередко мешают при использовании связки Python + Django. Все-таки скриптовый язык - отличается от строготипизированного не только синтаксисом. Тут нужно мыслить по-другому. 

Возьму для наглядности такой пример: есть какая-то абстрактная модель, которая хранит в себе данные о первых трех местах какого-либо соревнования и нужно быстро сделать минимальный интерфейс для ввода и отображения данных. Пример, конечно, надуманный и делается легко и на ASP.NET WebForms/MVC, но, меня поразила такое свойство моделей в Django, как “choices field”. 

 

Решение настолько простое и понятное, что это привело меня в полный восторг. Нет никаких таблиц-словарей, связей между таблицами, foreign keys и т.д. Только несколько строк кода и все. При этом в стандартной django админке все выглядит так же просто и понятно:

 

Понятно, что такое решение подходит далеко не всегда и только в очень простых случаях, но ведь таких случаев очень много! Не нужно стрелять с пушки по воробьям, а, в случае, когда нужно будет расширить эту модель - choices field легко становится обычным полем с foreign key и практически никак не влияет на работоспособность приложения, в простейшем случае, конечно...


Comments

dm800hd United States

Saturday, October 15, 2011 2:17 AM

dm800hd

When I originally commented I clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Is there any way you can remove me from that service? Thanks!

Comments are closed