изменить тип поля с сохранением данных

3 messages Options
Embed this post
Permalink
besja

изменить тип поля с сохранением данных

Reply Threaded More More options
Print post
Permalink
Все привет,
Есть кастомный тип extend от image.ATImage.
Схема у него была вида:
image_schema = image.ATImageSchema.copy()
MuseumImageSchema = image_schema + atapi.Schema(( ... мои поля...))

Захотелось сделать картинку с водным знаком. Нашла продукт garbas.watermark
Он добавляет новый тип поля WatermarkImageField

Изменила схему следующим образом:

image_schema = image.ATImageSchema.copy()
del(image_schema['image'])
MuseumImageSchema = image_schema + atapi.Schema((
                    WatermarkImageField('image', ...), ...))

То есть удалила оригинальное поле image и добавила свое другого типа, с поддержкой watermark. Все работает, картинка с водным знаком грузится и сохраняется.

Теперь встает вопрос о том, как конвертировать это все. Сейчас в базе существует подрядка 400 объектов типа MuseumImage, у которых картинка хранится в старом поле image. Надо взять ее и сохранить в новое. Что-то не могу сообразить как это лучше сделать)

Ира


--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Юрий Поляков

Re: изменить тип поля с сохранением данных

Reply Threaded More More options
Print post
Permalink
В каком-то из тулов портала есть кнопка "пересоздать миниатюры", её
нужно нажать :) Правда я не помню на основании чего оно выбирает типы
с которыми работать.

Вот: portal_atct/manage_imageScales

В крайнем случае создайте скрипт, который просто создает новые объекты
с параметрами из старых, а старые удаляет.

2009/8/13 Бессарабова Ирина <[hidden email]>:

> Все привет,
> Есть кастомный тип extend от image.ATImage.
> Схема у него была вида:
> image_schema = image.ATImageSchema.copy()
> MuseumImageSchema = image_schema + atapi.Schema(( ... мои поля...))
>
> Захотелось сделать картинку с водным знаком. Нашла продукт garbas.watermark
> Он добавляет новый тип поля WatermarkImageField
>
> Изменила схему следующим образом:
>
> image_schema = image.ATImageSchema.copy()
> del(image_schema['image'])
> MuseumImageSchema = image_schema + atapi.Schema((
>                    WatermarkImageField('image', ...), ...))
>
> То есть удалила оригинальное поле image и добавила свое другого типа, с поддержкой watermark. Все работает, картинка с водным знаком грузится и сохраняется.
>
> Теперь встает вопрос о том, как конвертировать это все. Сейчас в базе существует подрядка 400 объектов типа MuseumImage, у которых картинка хранится в старом поле image. Надо взять ее и сохранить в новое. Что-то не могу сообразить как это лучше сделать)
>
> Ира
>
>
> >
>



--
  Юрий Поляков
    +7 (916) 806-00-55
    [hidden email]

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

besja

Re: изменить тип поля с сохранением данных

Reply Threaded More More options
Print post
Permalink


13.08.09, 19:26, "Юрий Поляков" <[hidden email]>:

> В каком-то из тулов портала есть кнопка "пересоздать миниатюры", её
> нужно нажать :) Правда я не помню на основании чего оно выбирает типы
> с которыми работать.
В Properties можно задать image_types
> Вот: portal_atct/manage_imageScales
Не помогло. Видимо, при выполнение этого действия метод set поля не вызывается, а именно в нем у автора продукта прописано нанесение водного знака.
> В крайнем случае создайте скрипт, который просто создает новые объекты
> с параметрами из старых, а старые удаляет.
Угу. остается только этот вариант)

> 2009/8/13 Бессарабова Ирина :
> > Все привет,
> > Есть кастомный тип extend от image.ATImage.
> > Схема у него была вида:
> > image_schema = image.ATImageSchema.copy()
> > MuseumImageSchema = image_schema + atapi.Schema(( ... мои поля...))
> >
> > Захотелось сделать картинку с водным знаком. Нашла продукт garbas.watermark
> > Он добавляет новый тип поля WatermarkImageField
> >
> > Изменила схему следующим образом:
> >
> > image_schema = image.ATImageSchema.copy()
> > del(image_schema['image'])
> > MuseumImageSchema = image_schema + atapi.Schema((
> >                    WatermarkImageField('image', ...), ...))
> >
> > То есть удалила оригинальное поле image и добавила свое другого типа, с поддержкой watermark. Все работает, картинка с водным знаком грузится и сохраняется.
> >
> > Теперь встает вопрос о том, как конвертировать это все. Сейчас в базе существует подрядка 400 объектов типа MuseumImage, у которых картинка хранится в старом поле image. Надо взять ее и сохранить в новое. Что-то не могу сообразить как это лучше сделать)
> >
> > Ира
> >
> >
> > >
> >

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---