python - 如何从对象的形式更新 time_update?
问题描述
如何从附加到主帖子的对象(文件)的形式更新 time_update?
楷模:
# Main
class File(BasePost):
title = models.CharField(max_length=255, verbose_name=_('Заголовок'), blank=True)
time_update = models.DateTimeField(auto_now=True) # it is necessary to update this time when adding a nested attachment
# Attachment
class Attachment(models.Model):
post = models.ForeignKey('File', verbose_name=_('Файл'), related_name='attachment', on_delete=models.CASCADE)
# Created user
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('Добавил'), on_delete=models.SET_DEFAULT, default=1)
is_published = models.BooleanField(default=True, verbose_name=_('Опубликовано'))
# Times
time_create = models.DateTimeField(auto_now_add=True, verbose_name=_('Дата добавления'))
time_update = models.DateTimeField(auto_now=True, verbose_name=_('Дата обновления'))
意见
# Attachment
class AttachmentFileCreateView(SuccessMessageMixin, CreateView):
model = Attachment
template_name = 'modules/files/attachment_create.html'
form_class = AttachmentForm
success_message = "Файл для поста успешно добавлен!"
def form_valid(self, form):
form.instance.created_by = self.request.user
form.instance.post_id = self.kwargs['pk']
#? how to update time_update included in the post?
print(form.cleaned_data)
return super().form_valid(form)
def get_success_url(self):
return reverse_lazy('files:file_detail',
kwargs={'cat_slug': self.object.file.category.slug, 'slug': self.object.file.slug})
希望有答案)
解决方案
# Importing timezone
from django.utils import timezone
在你的form_valid
方法中
def form_valid(self, form):
form.instance.created_by = self.request.user
form.instance.post_id = self.kwargs['pk']
form.instance.time_update = timezone.now()
print(form.cleaned_data)
return super().form_valid(form)
已添加form.instance.time_update = timezone.now()
假设字段为time_update
.
推荐阅读
- firebase - 如何使用颤振从 Firestore 中检索特定的用户详细信息
- cucumber - 如何使用带有 JAVA 的 Cucumber 框架的 TestNG?
- https - 如何在 Azure CDN 中重定向到 HTTPS
- r - 如何创建一个 for 循环来使用 R 打开、变异和保存 .csv 文件?
- angular - 我尝试在共享服务器上部署 abp 多租户核心应用程序但失败了
- apache-kudu - 我如何测量 kudu,s 桌子的大小?
- c# - ListView 上下文菜单上的命令绑定未触发(未找到)?
- python - 通过将条件语句应用于 dtypes datetime 和 integer 的多个其他列来创建列
- html - 将一行分成 4 列,在移动设备上显示相同
- javascript - 如何在 Chrome 开发工具中调试 JavaScript API?