我的 Django 视频上传模型说"ValueError"



我正试图写一个小博客,在那里我可以上传我的视频供公众下载,但当我尝试点击任何视频以获取详细信息时,会收到服务器错误消息。以下是当Debug设置为True 时我得到的错误

ValueError at /video/lagos-anthem/
Sample larger than population or is negative
Request Method: GET
Request URL:    https://www.majestylink.com/video/lagos-anthem/
Django Version: 3.1.2
Exception Type: ValueError
Exception Value:    
Sample larger than population or is negative
Exception Location: /home/majestyempire/.virtualenvs/majestyenv/lib/python3.7/random.py, line 321, in sample
Python Executable:  /usr/local/bin/uwsgi
Python Version: 3.7.5
Python Path:    
['/var/www',
'.',
'',
'/var/www',
'/home/majestyempire/.virtualenvs/majestyenv/lib/python37.zip',
'/home/majestyempire/.virtualenvs/majestyenv/lib/python3.7',
'/home/majestyempire/.virtualenvs/majestyenv/lib/python3.7/lib-dynload',
'/usr/lib/python3.7',
'/home/majestyempire/.virtualenvs/majestyenv/lib/python3.7/site-packages',
'/home/majestyempire/musicblog/myblog']
Server time:    Sat, 28 Nov 2020 13:49:35 +0100

下面是我的型号。py

class Video(models.Model):

CATEGORY_CHOICES = (
('Music', 'Music'),
('Movies', 'Movies'),
)
artist = models.CharField(max_length=200, unique=True)
category = models.CharField(max_length=30, choices=CATEGORY_CHOICES, default='Music')
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(default='', blank=True, unique=True)
thumbnail = models.ImageField(blank=False)
video_file = models.FileField(default='')
uploaded_date = models.DateTimeField(default=timezone.now)
objects = PostManager()
class Meta:
ordering = ['-uploaded_date']
def save(self):
self.uploaded_date = timezone.now()
self.slug = slugify(self.title)
super(Video, self).save()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('video:detail', kwargs={'slug': self.slug})

这是post_detail视图

def post_detail(request, slug):
random_posts = random.sample(list(Video.objects.all()), 2)
vid = get_object_or_404(Video, slug=slug)
comments = Comment.objects.filter(post=vid)
is_liked = False
context = {
'Video': Video,
'vid': vid,
'random_posts': random_posts,
}
return render(request, 'video/video_detail.html', context)

我认为,这意味着你试图从一个大小小于你想要的样本数量的集合中进行采样。

相关内容

最新更新