3

次のコードがあるとします。

 class MyModel(models.Model):
     ...
     ...

    def save(self, *args, **kwargs):
        # pre-save edits can go here...
        super(MyModel, self).save(*args, **kwargs)

モデル MyModel(blah, blah, blah) を作成して保存すると、入力フィールドの 1 つが「なし」になる可能性があります。オーバーライドされた save メソッドの目的は、フィールドが存在しないかどうかを確認し、存在する場合は他のデフォルト値に変更することです。

入力フィールドは args または kwargs にありますか? そして、これを行う適切な方法でも save() をオーバーライドしていますか?

私は次のようなことを考えていました:

    def save(self, *args, **kwargs):
        if 'username' in args and args['username'] is None:
              args['username'] = some_default_value
        super(MyModel, self).save(*args, **kwargs)

では、入力パラメータはどこにありますか? args* または **kwargs、ありがとう。

4

1 に答える 1