1

ローカル環境と本番環境に互換性がなくなりました。問題は、エンティティ、リージョンの ID とキーを使用していて、これらのキーの一部がハードコードされていて、まだハードコードされているものを取得できないことです。

class City(db.Model):
  region = db.ReferenceProperty()
  name = db.StringProperty()

class Region(db.Model):
  name = db.StringProperty()
  countrycode = db.StringProperty()
  vieworder = db.IntegerProperty()
  areacode = db.IntegerProperty()
  areacodes = db.ListProperty(int)

多くの地域と都市は、動作しているように見える上記のモデルを使用して、本番環境に配置されました。しかし、挿入を行うときに、これらの生成された ID を本番環境でハードコードすることを余儀なくされました。

  <select onchange="cities(this);document.getElementById('area').display='';" name="region" id="region">
                                <option value="">«{% trans %}Choose region{% endtrans %}»</option>
                                <option value="4703187">

                     Andaman &amp; Nicobar Islands
                </option>
<option value="4694186">

                     Andhra Pradesh
                </option>
<option value="4699188">

                     Arunachal Pradesh
                </option>
<option value="4692186">

                     Assam
                </option>
<option value="4702186">

                     Bihar
                </option>
<option value="4698185">

                     Chandigarh
                </option>
<option value="4676188">

                     Chhattisgarh
                </option>
<option value="4691190">

                     Dadra &amp; Nagar Haveli
                </option>
<option value="4704183">

                     Daman &amp; Diu
                </option>
<option value="4699183">

                     Delhi
                </option>
<option value="4702187">

                     Goa
                </option>
<option value="4691189">

                     Gujarat
                </option>
<option value="4700186">

                     Haryana
                </option>
<option value="4703185">

                     Himachal Pradesh
                </option>
<option value="4694187">

                     Jammu &amp; Kashmir
                </option>
<option value="4699189">

                     Jharkhand
                </option>
<option value="4701185">

                     Karnataka
                </option>
<option value="4695189">

                     Kerala
                </option>
<option value="4700189">

                     Lakshadweep
                </option>
<option value="4697186">

                     Madhya Pradesh
                </option>
<option value="4694184">

                     Maharashtra
                </option>
<option value="4700187">

                     Manipur
                </option>
<option value="4703186">

                     Meghalaya
                </option>
<option value="4698184">

                     Mizoram
                </option>
<option value="4692187">

                     Nagaland
                </option>
<option value="4696185">

                     Orissa
                </option>
<option value="4676189">

                     Pondicherry
                </option>
<option value="4693185">

                     Punjab
                </option>
<option value="4701186">

                     Rajasthan
                </option>
<option value="4701187">

                     Sikkim
                </option>
<option value="4701188">

                     Tamil Nadu
                </option>
<option value="4697187">

                     Tripura
                </option>
<option value="4699190">

                     Uttaranchal
                </option>
<option value="4692188">

                     Uttar Pradesh
                </option>
<option value="4700188">

                     West Bengal
                </option>

                        </select>

私は WTForms といくつかの特別な拡張機能を使用しているため、ハードコードされたすべての ID をシステムから取得するのは難しいでしょう。m ローカル環境を再び機能させるために他に何かスマートにできることはありますか?地域と都市をインポートすることは可能ですか?プロダクションからローカルに同じIDを持つようにしますか? はいの場合、どのように行うことができますか?上記と同様の方法で ID がハードコードされているカテゴリでも、この問題が発生します。

4

1 に答える 1

2

ハードコーディングされた値がある場合、定義上、それらはどこかに書き留められることになるため、テスト サーバーと運用サーバーの両方で同じ値のリストを使用できないのはなぜでしょうか? それとも、データベースに格納されているということですか?

あなたの質問は、実稼働データストアからデータストアをエクスポートして、ローカル テスト サーバーにロードする方法であると思います。その場合、この関連する StackOverflow の質問が役立つはずです。

于 2013-06-24T03:45:12.043 に答える