GAEで、DataStoreのクラス定義を一つのファイルで書いておいて、複数のファイルからクラス定義だけ読み込みたいときのやり方。
myclass.py 共通で使いたいクラス定義
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from google.appengine.ext import db
class FreeStuff(db.Model):
#id = db.IntegerProperty()
title = db.StringProperty()
url = db.LinkProperty()
img = db.LinkProperty()
author = db.StringProperty()
authorlink = db.LinkProperty()
authorhome = db.LinkProperty()
・・・
mylogic_a.py
・・・
from myclass import *
・・・
from myclass import * で、現在の名前空間にmyclassの変数を上書きする、ということらしい。そうなのか、ふうむふむふむ。
ちなみに、import classだけだと、名前空間が別々になっている。そのため、クラス定義が終わっていると思ってFreeStuffクラスを使おうとすると、「そんなクラスねえよ!」というエラーになる。
mylogic_a.FreeStuff と、いちいちモジュール名を頭につけるならOK。