Я строю проект Angular + Django, и мне нужно добавить в него несколько файлов, идея в том, что эта модель Ticket должна получать некоторые файлы, такие как imgs или pdf ... Какое поле следует использовать в модели? FileField?
class Ticket (models.Model):
titulo = models.CharField(max_length=100, blank=True)
estagio = models.ForeignKey(
Estagio, related_name='tickets', on_delete=models.CASCADE, null=True)
cliente = models.ForeignKey(Cliente, on_delete=models.CASCADE, null=True)
org = models.ForeignKey(Organizacao, on_delete=models.CASCADE, null=True)
produto = models.ManyToManyField(Produto)
valorestimado = models.IntegerField(null=True)
termometro = models.CharField(max_length=100, null=True, blank=True)
vendedor = models.ForeignKey(
Vendedor, on_delete=models.CASCADE, null=True)
vendedorext = models.ManyToManyField(
VendedorExt, related_name='leads', blank=True)
obs = models.ManyToManyField(Obs, related_name='tickets')
status = models.CharField(max_length=155, blank=True, default='Aberto')
mtvperd = models.CharField(max_length=155, null=True, blank=True)
cmtperd = models.CharField(max_length=155, null=True, blank=True)
created = models.ForeignKey(Created, on_delete=models.CASCADE, null=True)
updated = models.ManyToManyField(Updated)
def __str__(self):
return str(self.titulo)
И как мне справиться с этим img в представлении? :
class TicketViewSet(viewsets.ModelViewSet):
queryset = Ticket.objects.all().order_by('-id')
serializer_class = TicketSerializer
authentication_classes = [TokenAuthentication]
permission_classes = [IsAuthenticated]
def create(self, request):
data = request.data
print(data['titulo'])
print(request.user)
print(request.headers)
c = Created()
c.user = request.user
c.save()
V = Vendedor.objects.get(id=int(data['vendedor']))
print(V)
T = Ticket()
T.titulo = data['titulo']
T.estagio = Estagio.objects.get(id=int(data['estagio']))
T.cliente = Cliente.objects.get(id=int(data['cliente']))
T.org = Organizacao.objects.get(id=int(data['org']))
T.valorestimado = int(data['valorestimado'])
T.termometro = data['termometro']
T.vendedor = V
T.status = 'Aberto'
T.created = c
T.save()
try:
if data['obs'].length >= 1:
for i in data['obs']:
k = Obs()
k.texto = i
k.save()
T.obs.add(k)
T.save()
except:
k = Obs()
k.texto = data['obs']
k.save()
T.obs.add(k)
T.save()
produtos = data['produto']
for prod in produtos:
T.produto.add(Produto.objects.get(id=prod))
T.save()
print(data)
return JsonResponse({'message': 'Saved'})
Кроме того, это правильный способ отправить файл в API?
<form>
<label id="thumbnail">
<input type="file" name="attachments[dummy][file]" class="file_selector" multiple="multiple"/>
</label>
<button class="btn btn-success" (click)="formAnexo()" style="float: right;">Salvar Anexo</button>
</form>
Извините, если я пропустил что-то очевидное, это первый случай обработки файлов с django