私はモデルを持っています
class Survey(models.Model):
created_by = models.ForeignKey(User)
question = models.CharField(max_length=150)
active = models.NullBooleanField()
def __unicode__(self):
return self.question
そして今、私はactive
フィールドだけを更新したいと思います。だから私はこれを行います:
survey = get_object_or_404(Survey, created_by=request.user, pk=question_id)
survey.active = True
survey.save(["active"])
エラーが発生しましたIntegrityError: PRIMARY KEY must be unique
。
この方法で更新するのは正しいですか?
フィールドのサブセットを更新するには、次を使用できますupdate_fields
。
survey.save(update_fields=["active"])
update_fields
引数はDjangoの1.5で追加されました。以前のバージョンでは、update()
代わりに次の方法を使用できました。
Survey.objects.filter(pk=survey.pk).update(active=True)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加