2

私は使用してDjango 1.5.1おり、モデルを保存または更新したいと考えています。

私はdjangoドキュメントを読み、get_or_create保存または更新を提供する方法に出会いました。のような使い方があります。

Model.objects.get_or_create(name='firstName',surname='lastName',defaults={'birthday': date(1990, 9, 21)})

defaultsフィールドは取得のみに使用されます。設定段階では、名前と姓のみ設定されます。それが文書から私が理解していることです。

だから、名前、姓、誕生日を設定するのとは違うことをしたいのですが、生年月日を除いて名前と姓を取得します。ドキュメントや別の場所でそれを行う方法がわかりませんでした。

これどうやってするの?

ありがとうございました!

4

2 に答える 2

2

Django 1.7以降、次のものがありupdate_or_createます:

obj, created = Person.objects.update_or_create(
    first_name='John',
    last_name='Lennon',
    defaults=updated_values
)

指定したパラメーターは、既存のオブジェクトを検索するために使用されるdefaultsパラメーターであり、既存または新しく作成されたオブジェクトで更新されるパラメーターです。

タプルが返されます。objこれは作成または更新されたオブジェクトでありcreated、新しいオブジェクトが作成されたかどうかを指定するブール値です。

ドキュメント: https://docs.djangoproject.com/en/1.8/ref/models/querysets/#update-or-create

于 2015-06-18T13:26:05.087 に答える