1

にカスタム フィールドがあります/app/models.py。私の質問は...

ここでのベストプラクティスは何ですか。別のファイル、つまりcustomField.pyにインポートする必要がありますかmodels.py、それともすべて同じmodels.pyファイルにする必要がありますか? ベストプラクティス

class HibernateBooleanField(models.BooleanField):

    __metaclass__ = models.SubfieldBase

    def get_internal_type(self):
        return "HibernateBooleanField"

    def db_type(self):
        return 'bit(1)'

    def to_python(self, value):
        if value in (True, False): return value
        if value in ('t', 'True', '1', '\x01'): return True
        if value in ('f', 'False', '0', '\x00'): return False

    def get_db_prep_value(self, value, *args, **kwargs):
        return 0x01 if value else 0x00
4

2 に答える 2

1

すべてを 1 つのファイルにまとめることはお勧めしませんmodels.py。私は、モデル、フィールド、およびビューに対して個別のパッケージを作成し、追加のモジュールを含めるのが好きです。これは、Django アプリケーションのコード構造と可読性にとって最良のソリューションの 1 つだと思います。次のようになります。

/app
  /models
     /__init__.py
     /model1.py
     /model2.py
  /fields
     /__init__.py
     /custom_field1.py
     /custom_field2.py
  /views
     /__init__.py
     /page1.py
     /page2.py
于 2013-01-03T15:57:10.500 に答える