2017-11-24 23 views
0

私はDjangoのモデルにタイムゾーンフィールドを持っている:私は将来的に多くの多くのスニペットを持っていることを期待しているためDjangoモデルでタイムゾーンを効率的に保存する方法は?

import pytz 
ALL_TIMEZONES = sorted((item, item) for item in pytz.all_timezones) 
... 
class Snippet(models.Model): 
    tz = models.CharField(choices=ALL_TIMEZONES,max_length=32) 

私はTZフィールドの占有スペースを心配し、少しです。最長タイムゾーンは32文字ですが、593タイムゾーンしかないため、タイムゾーンを格納するには2バイトで十分です。

私のtzフィールドを保存/定義する良い方法はありますか?もちろん私は自分のコーディングスキームを使うことができますが、他の解決策がないことを確認したいのですが。

答えて

1

1 - 私はそれが "America/Sao_Paulo"としての良い選択肢だと思います。タイムゾーンの数値IDはないと思います。

2 - CharFieldで消費されるサイズは、データベースエンジンに関連しています。ほとんどのデータベースは、テキスト値を格納するのに必要な領域のみを消費します。スペースの面で32文字または320文字を設定する違いはありません(私は64が良いサイズだと思います)。

3 - 第3正規形を使用します。タイムゾーンテーブルを作成し、それをリンクするFKSを使用しています:はい

+0

、またディスク領域がある(https://でWWW [安い*めちゃくちゃ*。] .forbes.com/sites/tomcoughlin/2016/07/24/the-storage-of-storage /#709757e63239) –

関連する問題