i18nで動作するカテゴリ構造を実装したいと考えています。 GAEにはdb.CategoryProperty
が組み込まれていますが、サブカテゴリは実装されていません。カテゴリプロパティを使用しているようですが、これはモデルのリストオブジェクトです。カテゴリシステムの実装方法
class Vehicles(GeoModel,search.SearchableModel):
title=db.StringProperty(verbose_name="title")#required
category=db.CategoryProperty(choices('0','1','2','3','4',default='1',verbose_name="Category")
...
すべての車両に手動または自動のギアボックスが搭載されているわけではありませんが、車は確かにあります。だから、ほとんどの場合には意味を持たないであろうから、私はgearbox = ...
、別のインスタンス変数を追加することができますが、どちらか私はその実装を避け、代わりに相続でそれを行う:
class Cars(Vehicles):
gearbox=db.CategoryProperty(choices('0','1','2','3','4',default='1',verbose_name="Gearbox"
mileage=db.CategoryProperty(choices('0','1','2','3','4','5',default='1',verbose_name="Mileage"
fuel=db.CategoryProperty(choices('0','1','2','3','4',default='1',verbose_name="Fuel"
はちょうどサブカテゴリを追加するよりも好ましい継承とソリューションです。基底クラスのインスタンス変数としてインスタンス変数?継承を使用してもオブジェクトを再分類することはできますか?どのようにしてi18nでカテゴリを反復するように選択肢を実装できますか?私のテンプレートは現在次のようになっています:
{% load i18n %}
<select name="cg" id="cat" class="category">
<option value='' style='background-color:#dcdcc3' id='cat1' >-- {% trans "VEHICLES" %} --</option>
<option value='2' {% ifequal "2" cg %} selected="selected" {% endifequal %} id='cat2' >{% trans "Cars" %}</option>
...
djangoはこれに対してより便利なソリューションを持っていますか?アプリケーションエンジン/ djangoには他にどのようなクラスが実装されていますか?
choices = [ (1, _('Vehicles')), (2, _('Cars')), (3, _('Bicycles')), (4, _('Motorcycles')) ]
category=db.CategoryProperty(choices('0','1','2','3','4',default='1',verbose_name="Category")
を私はしばらくの間はDjangoを使用していない答えられないだろうが、あなたは[はExpando]で見たいと思うかもしれません(http://code.google.com/ appengine/docs/python/datastore/expandoclass.html)または[PolyModel](http://code.google.com/appengine/docs/python/datastore/polymodelclass.html)のクラスを参照してください。 –