小编ske*_*Pet的帖子

如何在 Django Rest 中保存文件

我在将文件保存到服务器时遇到问题。我需要上传和保存文件,但 id 对我不起作用。我可以将文件从我的 UI 发送到我的其余 api,但我无法保存文件。

我的模特

fs = FileSystemStorage(location='/media/attachments/')

...

class TicketLog(models.Model):
    ticket = models.ForeignKey(Ticket, on_delete=models.DO_NOTHING, related_name='ticket_log')
    created_date = models.DateTimeField(auto_now=False, auto_now_add=True)
    created_by = models.ForeignKey(
        User,
        on_delete=models.DO_NOTHING,
        related_name='ticketlog_creator')
    note = models.TextField()

    class Meta:
        ordering = ['pk']

    def __str__(self):
        return self.note


class TicketFiles(models.Model):
    ticketlog = models.ForeignKey(TicketLog, on_delete=models.CASCADE, related_name='log_file', blank=True, null=True)
    attachment = models.FileField(upload_to='attachments', storage=fs)

Run Code Online (Sandbox Code Playgroud)
class UploadWithFile(APIView):
    parser_classes = [MultiPartParser, ]

    def post(self, request):

        content = request.data['file']
        data = json.loads(request.data['data'])
        queue = Queue.objects.get(pk=data['queue']['id'])
        priority = Priority.objects.get(pk=data['priority']['id'])
        status = Status.objects.get(pk=data['status']['id'])
        created_by = User.objects.get(pk=data['ticket_log'][0]['created_by_id']) …
Run Code Online (Sandbox Code Playgroud)

django file-upload django-rest-framework

3
推荐指数
1
解决办法
5225
查看次数