Вот способ разработки OpenERP
class stock_incoterms(osv.osv):
_name = "stock.incoterms"
_description = "Incoterms"
_columns = {
'name': fields.char('Name', size=64, required=True),
'code': fields.char('Code', size=3, required=True),
'active': fields.boolean('Active'),
}
_defaults = {
'active': lambda *a: True,
}
stock_incoterms ()
Это типичная модель OpenERP и сопоставлена с именем таблицы stock_incoterms.
Свойство columns определяет столбцы для таблицы
Свойство default определяет значение по умолчанию для каждого столбца.
Мои вопросы:
Как реализовать это в Python?
При запуске stock_incoterms () OpenERP будет читать эту модель, генерировать таблицу с этими определенными столбцами.
После этого, предположим, что я создал запись в этой таблице, затем я прошу дать мне модель этого класса, ex
stock_incoterm = stock_incoterms.get (1) (идентификатор записи в дБ)
Теперь я могу получить доступ
stock_incoterm.name
stock_incoterm.code
........
Этот способ определения модели является своего рода мета-программированием, но я не знаю, как написать его на Python.
Может кто-нибудь подсказать мне подробности или некоторые хорошие ссылки о мета программирование на Python?
Книга разработчика OpenERP — лучшее место для начала поиска. Похоже, вы хотите добавить новую таблицу с именем stock_incoterm. Я бы порекомендовал вам создать новый модуль и добавить в него таблицу вместе с экраном и некоторыми пунктами меню для редактирования таблицы. В книге разработчика есть глава о разработке модулей.
После того, как вы все это настроите, ваш код для доступа к полям записи будет выглядеть примерно так:
class stock_incoterms(osv.osv):
# ...
def do_something(self, cr, uid, ids):
for stock_incoterm in self.browse(cr, uid, ids):
name = stock_incoterm.name
# ...