Joe*_*mes 2 django django-models
我想知道,在 Django 中更新包含模型实例的相关字段的多个字段的标准方法是什么?...
Class User(models.Model):
id = models.CharField()
name = models.CharField()
dob = models.CharField()
Class Appointment(models.Model):
user = models.ForeignKey(User)
app_id = models.CharField()
time = models.DateTimeField()
status = models.CharField()
Run Code Online (Sandbox Code Playgroud)
要更新约会模型中的多个字段,我可以这样做
dict ={
"app_id": "123",
"time": "2012-01-01 10:30",
"status": "Open"
}
Appointment.objects.filter(app_id=123).update(dict)
Run Code Online (Sandbox Code Playgroud)
有没有办法更新相关模型?如何更新约会模型和用户模型?
案件:
dict ={
"name": "foo",
"app_id": "123",
"time": "2012-01-01 10:30",
"status": "Open"
}
Run Code Online (Sandbox Code Playgroud)
为了清楚起见 - 这不是“继承”的意思。任命与用户相关,但不继承自用户。
查询集上的更新方法无法在一次调用中完成此操作。文档说:
对更新的 QuerySet 的唯一限制是它只能更新模型主表中的列,而不能更新相关模型中的列。
https://docs.djangoproject.com/en/dev/ref/models/querysets/#update
如果你有 app_id 而没有别的,你可以编写第二个更新调用:
User.objects.filter(appointment__app_id=123).update(name='foo')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7572 次 |
最近记录: |