【发布时间】:2021-07-03 09:27:18
【问题描述】:
我正在为我的模型编写更新方法:
class Task(models.Model):
@staticmethod
def update_task(task_id: int, calendar_path: str, **kwargs):
cal = get_object_or_404(Calendar, path=calendar_path)
task = get_object_or_404(Task, id=task_id)
if task.calendar != cal:
raise FieldError("Calendar does not contains this task")
for field_name, value in kwargs:
task
我希望重命名 kwargs 中的所有字段,例如:
update_task(..., name = "New Name", description = "New description")
但是我不知道怎么做,不使用 eval,但这不是一个好主意。
【问题讨论】:
-
我不太清楚你打算做什么。
-
我想创建一个函数,它将接受关键字参数作为输入并更新数据库中的任务,例如:` update_task(task_id = 10, calendar_path = "foo", name="New name ) ` 此代码应更改 id = 10 的任务:
task.name = "New name"
标签: python django model keyword-argument