django - Django:默认将用户名保存在表单中
问题描述
我正在尝试构建一个任务管理器。我应该为创建者用户设置一个字段,为目标用户设置另一个字段。
我意识到我无法定义指向同一用户列表的 2 个外键字段,因此我将目标用户字段作为创建者用户选择的外键字段,然后我尝试将活动用户名设置为创建者在视图中。
表单存储所有收集的数据,但不存储视图中的一组数据。我没有收到错误,但没有保存该值。
该模型
class Tareas(models.Model):
creador = models.CharField(max_length=100, help_text="Creador", blank=True, null=True)
destinatario = models.ForeignKey(User, help_text="Estatus del contenido", blank=True, null=True, on_delete=models.CASCADE)
titulo = models.CharField(max_length=100, help_text="Título de la tarea", blank=True, null=True)
tarea = models.TextField(max_length=500, help_text="Explicación de la tarea", blank=True, null=True)
resuelto = models.BooleanField(default=True)
fecha_creacion = models.DateField(help_text="Fecha de creación", default=datetime.date.today, blank=True, null=True)
fecha_limite = models.DateField(help_text="Fecha límite", default=datetime.date.today, blank=True, null=True)
fecha_resuelto = models.DateField(help_text="Fecha de resolución", default=datetime.date.today, blank=True, null=True)
def __str__(self):
return str(self.titulo)
表格
class FormularioTareas(forms.ModelForm):
class Meta:
model = Tareas
widgets = {'fecha_limite': forms.DateInput(attrs={'class': 'datepicker'})}
fields = ["destinatario", "titulo", "tarea", "resuelto", "fecha_limite", "creador", "fecha_creacion"]
风景
@login_required
def TareasView(request):
tareas_form = FormularioTareas(request.POST)
tareas = Tareas.objects.all()
tareas = tareas.order_by("-fecha_creacion")
if request.method == "POST":
tareas_form = FormularioTareas(request.POST)
if tareas_form.is_valid():
tarea = tareas_form.save(commit=False)
tarea.creador = request.user.username
tarea.fecha_creacion = date.today()
tarea.save()
return render(request, 'catalog/tareas.html', {
'tareas_form': tareas_form,
'tareas': tareas
})
解决方案
推荐阅读
- sql - Sql 语句获取每月未下订单的客户(同时显示月份)
- api - 微服务 API URL 模式
- python - 用python中的匹配替换所有出现
- android - 使用约束布局等间距的四个图像
- testing - 如何同时测试多个用户?
- python - 带有可能看不见的数据的标签编码
- spring - 在没有 MockMvc 的情况下为 RestAPI 编写 Spock 测试
- python - 如何在 Python 中重用一个大的、加载成本高的字典?
- python - Djagno 3.0 with Python 3.6.12 1054 遵循 Django 3.0 教程的错误
- mysql - 在 SQLALchemy 中使用 load_only 或 with_entities 的好处有多大?