Olá Marcos, como você está?
Peço desculpas pela demora em obter um retorno.
É possível ter dois modelos diferentes no Django, como você descreveu. Você pode criar dois modelos separados, um para as tarefas e outro para os relatórios de tarefas, como você mencionou. A chave para vinculá-los é usar uma chave estrangeira (ForeignKey) no modelo de relatório de tarefas, que faz referência ao modelo de tarefas.
Exemplo:
class Tarefa(models.Model):
nome = models.CharField(max_length=100)
feito = models.BooleanField()
def __str__(self):
return self.nome
class TarefaRelatorio(models.Model):
tarefa = models.ForeignKey(Tarefa, on_delete=models.CASCADE, editable=False)
descricao = models.TextField()
feito = models.BooleanField(default=False)
def save(self, *args, **kwargs):
self.feito = self.tarefa.feito
super(TarefaRelatorio, self).save(*args, **kwargs)
Nesse exemplo, o modelo TarefaRelatorios
tem um campo de chave estrangeira que referencia o modelo Tarefas
. O atributo feito
e nome
em TarefaRelatorios
é uma cópia do atributo feito em Tarefas
.
Com esses modelos definidos, você pode criar um formulário que permita ao usuário modificar tanto as tarefas quanto seus respectivos relatórios usando os campos dos modelos Tarefas
e TarefaRelatorios
.
Espero ter ajudado.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!