我正在尝试构建任务管理器。我应该为创建者用户提供一个字段,为目标用户提供一个字段。
我意识到我无法定义两个指向同一用户列表的外键字段,因此我将目标用户字段作为外键供创建者用户选择,然后我尝试设置活动用户名作为视图中的创建者。
该表单存储所有收集的数据,但不存储视图中的一组数据。我没有收到错误,但该值未保存。
模型
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
})