1
resposta

Como colocar número variável de campos?

Estou construindo uma API que vai alimentar um front-end no react. Nela eu consumo a API do trello pra puxar os checklists que uma pessoa fez. Sendo a quantidade de itens do checklist variável de acordo com cada usuário, como eu crio um model pro meu banco de dados que receberá uma quantidade indefinida de itens?

1 resposta

Oi Paulo,

Existem várias formas de fazer isso, vou te passar como eu faria para evitar problemas de normalização da base de dados:

from django.db import models

class Checklist(models.Model):
    nome = models.CharField(max_length=100)

class Usuario(models.Model):
    nome = models.CharField(max_length=100)

class Atividade(models.Model):
    nome = models.CharField(max_length=140)
    usuarios = models.ManyToManyField(Usuario, related_name="usuarios")
    checklist = models.ForeignKey(Checklist, on_delete=models.CASCADE)

Se quiser se aprofundar mais pode consultar a documentação: https://docs.djangoproject.com/en/4.0/ref/models/fields/#django.db.models.ManyToManyField