我有一个模型:
class UserPreferencesForm(ModelForm):
"""
Form for storing user preferences.
"""
class Meta:
model = UserPreferences
exclude = ('user')
该模型:
class UserPreferences(models.Model):
"""
Model for user project preferences.
"""
user = models.OneToOneField(User)
...
在意见中:
...
form = UserPreferencesForm(request.POST or None)
if form.is_valid():
# save the form
prefs = form.save(commit=False)
prefs.user = request.user
prefs.update()
messages.add_message(
request, messages.INFO, 'Your preferences have been updated.'
)
...
我想确保每个用户只有一组偏好,所以我想重构视图代码以使用update()
模型方法中的某些内容,而不是检查对象是否存在然后保存,这会导致更多查询。
“创建或更新”模型的最有效方法是什么?
非常感谢任何帮助。