О! Как сказал один умный человек: Чем дальше слушаю, тем больше понимаю, что люди начинают изобретать то, что в Zope изобрели 100 лет назад.
Короче если, то Zope использует объектную БД. Объект лучше сконструировать так, чтобы он содержал в себе данные и представление.
Архитектура Python поддерживает интроспекцию, это значит, что все свойства можно перечислить в рантайм и получить их значение. А это значит в свою очередь, что вы можете сделать снимок объекта и сохранить его в поток. А потом восстановить (Помоему objective C еще так умеет, ну и смоллток).
Что это значит? А то, что вся логика записи, чтения из/в БД ушла. Вы создали объект и он живет. Тот факт что вы выключали сервер и заменили винты объект не заметил.
Кроме того, вы добавили 10 полей в платежку. Что делать со старыми платежками? Оставить поля пустыми? Заполнить информацией которой небыло в то время?
В случае с ZODB у вас просто будут старые объекты с старым UI. Да по подмножеству данных можно будет производить запросы и получать в том числе и старые объекты.
Кстати очень хочется это все сделать с помощью FramerD
Короче если, то Zope использует объектную БД. Объект лучше сконструировать так, чтобы он содержал в себе данные и представление.
Архитектура Python поддерживает интроспекцию, это значит, что все свойства можно перечислить в рантайм и получить их значение. А это значит в свою очередь, что вы можете сделать снимок объекта и сохранить его в поток. А потом восстановить (Помоему objective C еще так умеет, ну и смоллток).
Что это значит? А то, что вся логика записи, чтения из/в БД ушла. Вы создали объект и он живет. Тот факт что вы выключали сервер и заменили винты объект не заметил.
Кроме того, вы добавили 10 полей в платежку. Что делать со старыми платежками? Оставить поля пустыми? Заполнить информацией которой небыло в то время?
В случае с ZODB у вас просто будут старые объекты с старым UI. Да по подмножеству данных можно будет производить запросы и получать в том числе и старые объекты.
Кстати очень хочется это все сделать с помощью FramerD