使用Django管理站点自动填充created_by和actionDate字段

时间:2011-09-16 09:17:55

标签: python django

我有一个这样的模型:

class Tour(models.Model):
   Name=models.CharField(max_length=100)
   Count=models.SmallIntegerField() 
   ActionDate=models.DateTimeField(editable=False)
   ActionUser=models.ForeignKey(User,editable=False)
   StatusType=models.ForeignKey(StatusType)

现在我想在我的Tour中自动填充当前用户,所以我在admin.py中使用了这段代码:

 def save_model(self, request, obj, form, change): 
      instance = form.save(commit=False)
      instance.ActionUser = request.user
      instance.save()
      form.save_m2m()
      return instance

admin.site.register(Tour,TourAdmin)

它工作得很好并且它在我的巡视表中自动运行当前用户,但是现在我无法在ActionDate字段中保存当前日期,我将此代码添加到save_model但它会导致错误:

self.ActionDate=datetime.datetime.today()

然后我试图在我的巡回赛模型中覆盖保存:

def save(self,*args,**kwargs):
      self.ActionDate=datetime.datetime.today()
      super(Tour, self).save(*args,**kwargs)

但这也会导致错误。 我应该怎么做才能自动填充ActionUser和ActionDate? tnx提前

1 个答案:

答案 0 :(得分:2)

为什么不在字段定义中使用auto_now