Python Timezone.now在重写保存方法时引发类型错误

Python Timezone.now在重写保存方法时引发类型错误,python,django-rest-framework,Python,Django Rest Framework,我正在Django Rest框架中编写一个API—当使用POST方法创建一个新对象时,如果'done'字段为True,并且'done_date'为Null,我希望'done_date'自动设置为当前时间。下面是我试图做的,在我的模型中重写save方法: 在models.py中 从django.db导入模型 从django.utils导入时区 类Taskmodels。模型: 标题=型号。CharFieldmax_长度=100 done=models.BooleanFielddefault=Fals

我正在Django Rest框架中编写一个API—当使用POST方法创建一个新对象时,如果'done'字段为True,并且'done_date'为Null,我希望'done_date'自动设置为当前时间。下面是我试图做的,在我的模型中重写save方法:

在models.py中 从django.db导入模型 从django.utils导入时区 类Taskmodels。模型: 标题=型号。CharFieldmax_长度=100 done=models.BooleanFielddefault=False author\u ip=models.GenericIPAddressField 已创建\u date=models.DateTimeFielddefault=timezone.now 完成日期=models.DateTimeFieldFull=True,blank=True 类元: 排序='id', 定义自身: 返回{}-{}.formatself.pk,self.title def saveself,*args,**kwargs: 如果自行完成和未自行完成日期: self.done\u date=时区.now 超级任务,自我保存*args,**kwargs 但是,在调用Task.objects.create时,这会引发TypeError。这可能是因为序列化程序类上的可写字段不是Task.objects.create的有效参数。您可能需要将字段设置为只读,或重写TaskSerializer.create方法以正确处理此问题。
现在,我相当确定它与时区有关。现在在save方法中,有人能告诉我如何继续吗?如果这是一个基本问题,我道歉,谢谢

您所要做的就是调用带有括号的timezone.now函数
或者,您可以使用:auto_now=True和set editable=True

是否实际调用函数timezone.now?否则,你只是在使用函数对象本身。哇,我真傻!当然,你的解决方案奏效了——非常感谢!