Как правило, рекомендуется оставить поле базы данных в его наиболее независимом формате.
Создать метод для обработки деталей преобразования.
Если вас раздражает перспектива вводаИз полного преобразования даты / времени каждый раз, когда вам нужно получить дату, вы можете создать метод в вашем объекте, который будет обрабатывать преобразование так, как вам нравится.
Таким образом, вы можете назвать его как-нибудь легкозапомнить и избавить себя от необходимости запоминать точную запись функции формата даты / времени.
Вы можете даже создать суперкласс для своих объектов и добавить туда метод, чтобы он был унаследованвсеми объектами, для которых вы хотите, чтобы это поведение было доступно.
Так что, если у вас есть класс BlogObject в качестве суперкласса, а BlogPost наследует от BlogObject, и вы получаете доступ к стандартному полю, которое существует ввсе эти объекты, такие как Дата создания или Дата изменения
class BlogObject(BaseClassName):
def pretty_create_dt():
self.beatify_date(self.update_dt)
def beautify_date(date):
#[your format code]
#then have the other class(es) inherit the method:
class BlogPost(BlogObject):
def get_xmas_date_before(days_before_xmas):
date_x_before_christmas = self.beautify_date(self.xmas_dt - days_before_xmas)
#pseudo-code-ish, just to get the point across
Таким образом, когда вы вызываете функцию дляВ вашем шаблоне он уже отформатирован моделью или контроллером.Вам следует избегать подобных действий в View, потому что это плохая практика MVC, особенно для того, что вы планируете использовать для всего приложения.
Причина, по которой этот общепринятый шаблон, заключается в том, что
- уменьшает повторяющуюся обработку кода, которая подвержена человеческим ошибкам
- менее трудоемка для будущего развития
поддерживает присущую принципу "разделение по дежурству"в MVC Framework
Например, если политика формата даты должна была измениться, возможно, из-за интернационализации, то вам нужно решение, которое можно изменить в одном месте (суперкласс модели или контроллера), а нев 1000 экземпляров просмотра