class Post(models.Model):
content = models.TextField(...)
editable_content = models.TextField(...)
sync_editable = models.BooleanField(
default=False,
help_text = "Click to update content from editable_content")
def save(self):
#check if you want to update from edited version
if sync_editable:
self.content = self.editable_content
#reset sync_editable to prevent accidents
self.sync_editable = False
elif self.editable_content = "":
#keep things in sync for easier editing later
self.editable_content = self.content
super().save()
1条答案
按热度按时间6l7fqoea1#
如果博客文章尚未发布
你可以给模型增加一个布尔字段,例如,
并且只在published为True时显示帖子。另一个选项是设置publication_date字段,并且只在今天的日期大于该日期时显示。
如果帖子已发布,
这就有点复杂了。你需要能够保存修改而不影响现有的帖子,直到修改完成。
为此,您可以使用两个独立的字段,一个用于内容,一个用于editable_content,另一个字段用于指示您是否要从editable_content更新。当然,在面向公众的应用中,您只显示内容,但管理员将能够看到所有字段。