次のコードがあるとします。
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、ありがとう。