現在、Python を使用して AppEngine で Web サイトを構築しており、データストアにいくつかの情報を保存する必要があります。
私のすべての情報は、次のように 3 つの異なるカテゴリに分かれています。
1°/- 記事 (メイン ページのニュース エントリ)。2°/- 製品 (製品ページの説明エントリ)。3°/- ナビゲーション (すべてのヘッダー メニュー エントリを含む)。
とりあえず、以下のように保管しています。
from google.appengine.ext import db
class article(db.Model):
title = db.StringProperty()
body = db.TextProperty()
author = db.StringProperty()
aside = db.StringProperty()
comment = db.StringProperty()
date = db.DateProperty(auto_now_add=True)
class navigation(db.Model):
title = db.StringProperty()
comment = db.StringProperty()
link = db.StringProperty()
class products(db.Model):
title = db.StringProperty()
body = db.TextProperty()
author = db.StringProperty()
aside = db.StringProperty()
comment = db.StringProperty()
date = db.DateProperty(auto_now_add=True)
これが最適化されていないことはわかっています。ご覧のとおり、私の製品クラスは記事と同じです。記事1から派生させるか、拡張できると思いますが、よくわかりません。
だから私の質問は:
名前空間を使用する必要がありますか? (記事と商品を明確に分けたい)。
その種のデータストレージの通常の設計は何ですか?
記事本文のプロパティは 50 語を超える必要はありませんが、stringProperty の範囲を制限するにはどうすればよいですか? このプロパティへの呼び出し中に設定する必要がありますか、または DB クラスのデフォルト メソッドに設定するオプションはありますか?
よろしくお願いします。