Pylons+memcacheDB...モデル定義

次に電話帳データのモデルを定義する。といってもたいしたことはなく、普通のPythonオブジェクト(POPO)である。phonebook/model/__init__.pyに以下を追加。

import uuid

class Phone(object):
    def __init__(self,
                 mobile_number = None,
                 name = None,
                 address = None,
                 home_number = None,
                 dob = None):
        self._id = uuid.uuid4().hex
        self.mobile_number = mobile_number
        self.name = name
        self.address = address
        self.home_number = home_number
        self.dob = dob

    @property
    def id(self):
        return self._id

PhoneBookディレクトリから、Pylonsシェルを起動して確認。

$ paster shell
Pylons Interactive Shell
Python 2.6.4 (r264:75706, Dec 28 2009, 15:52:45)
[GCC 4.3.4]

  All objects from phonebook.lib.base are available
  Additional Objects:
  mapper     -  Routes mapper object
  wsgiapp    -  This project's WSGI App instance
  app        -  paste.fixture wrapped around wsgiapp

>>> from phonebook.model import Phone
>>> p = Phone()
>>> p.id
'e25061e361624df1b50d0df2be010c4c'

p.idにUUIDが生成した文字列が入っていればオッケー。memcacheDBのキーは「一意であれば」なんでもよいので、こうして機械的に決めてやればいいでしょ。

Gitコミット先