1
モデルを作成するために必要なすべてのフィールドを取得するにはどうすればよいですか?
(Djangoの移行と同じでマイグレーションを実行する前に確認してください?)Django、すべての必須フィールドを取得しますか?
モデルを作成するために必要なすべてのフィールドを取得するにはどうすればよいですか?
(Djangoの移行と同じでマイグレーションを実行する前に確認してください?)Django、すべての必須フィールドを取得しますか?
あなたはモデルMeta
クラスのget_fields()
メソッドを使用することができます答えは上記のリスト内包とgetattr()
を使用して、より簡潔に、わずかに実装することができ
fields = MyModel._meta.get_fields()
required_fields = []
# Required means `blank` is False
for f in fields:
# Note - if the field doesn't have a `blank` attribute it is probably
# a ManyToOne relation (reverse foreign key), which you probably want to ignore.
if hasattr(f, 'blank') and f.blank == False:
required_fields.append(f)
をFalse
のデフォルトで:
required_fields = [f for f in MyModel._meta.get_fields() if not getattr(f, 'blank', False) is True]
あなたは[ 'get_fields()'](https://docs.djangoproject.com/en/1.9/ref/models/meta/#django.dbを使用することができます。 models.options.Options.get_fields)を使用して、すべてのフィールドを反復処理し、必要なフィールドを確認します。 – solarissmoke
@solarissmoke:どのようにチェックする必要がありますか? n – eugene