我是 python 和 django 的新手。我正在使用django开发网站。我已经为用户提供了在我的网站上传内容的选项。
但是如果管理员批准了这些内容,那么这些内容将在网站上显示。为了获得批准,我在我的模型中添加了布尔字段,就像那样,
Class content(models.Model):
content_name = models.CharField(max_length = 100)
content = models.ImageField(upload_to = 'photos', blank=False,null=True)
approved = models.BooleanField(default = False)
uploaded_time = models.DateTimeField()
现在,当用户上传任何内容时,首先它存储在数据库中,默认情况下,已批准的字段仍为False,或者您可以说内容正在等待管理员批准。
然后,如果管理员批准它,那么允许内容显示在网站上。一切顺利。 但我想跟踪审批时间。
请记住,管理员可以在存储在数据库中的内容之后批准或单击布尔字段。现在我的问题是,如何在管理员批准内容时跟踪审批时间?
答案 0 :(得分:0)
您可以遵循一个简单的方法。为您的模型添加created
和modified
字段。因此,每当用户添加一些内容时,created
字段将具有创建内容的时间戳,并且当管理员批准时,内容modified
字段将具有批准内容的时间戳。
您可以为您的模型使用以下代码:
from django.db import models
class TimeStampedModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
class content(TimeStampedModel):
content_name = models.CharField(max_length = 100)
content = models.ImageField(upload_to = 'photos', blank=False,null=True)
approved = models.BooleanField(default = False)
实际上,您可以将此练习扩展到所有模型,以跟踪字段何时被修改以及何时创建。只需扩展模型类的TimeStampedModel
模型即可。