model.py
from django.db import models
class Post(models.Model):
video = models.FileField(upload_to='filesInput/')
csv = models.FileField(upload_to='filesInput/')
csvTimeL = models.CharField(max_length = 50, default = '00:00:02.02')
csvTimeR = models.CharField(max_length = 50, default = '00:00:02.4')
urlTimeL = models.CharField(max_length = 50, default = 3)
urlTimeR = models.CharField(max_length = 50, default = 8)
siteUrl = models.CharField(max_length = 300)
def __str__(self):
return self.siteUrl
class Result(models.Model):
inputData = models.ForeignKey(Post, on_delete = models.CASCADE)
resVideo = models.FileField()
def __str__(self):
return self.resVideo.url
Итак, я хочу загрузить видеофайл в Result.resVideo Вот как я это делаю с помощью TextField:
python manage.py shell
>>> from posts.models import Post, Result
>>> a = Post.objects.get(id = 3)
a.result_set.create(text = 'text')
Проблема в том, что я не знаю, как объяснить django подключение видеофайла к Post () и самого видеофайла.
Я также получил ответ с другого форума на загрузку видео в Post ():
from django.core.files.base import ContentFile
from .models import Post
video_name = 'video.webm'
with open(video_name, 'rb') as f:
video_content = f.read()
instance = Post()
instance.video.save(video_name, ContentFile(video_content))
instance.save()
Но мне нужно загрузить его в Result.resVideo с «подключением» к Post.