我想限制上传文件中的用户数量。例如: 每天,用户仅限于1个图像文件。
视图
class Upload(views.LoginRequiredMixin, generic.CreateView):
model = Posts
form_class = UploadForm
template_name = 'icerik_yukle.html'
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.author= self.request.user
self.object.save()
return super(Upload, self).form_valid(form)
模型
class Gonderi(models.Model):
author= models.ForeignKey(User, related_name="gonderi")
slug = models.SlugField(unique=True, max_length=10, default=id_olustur)
image = models.FileField(upload_to=yukleme_adresi, blank=True)
subject= models.CharField(max_length=50, blank=True)
descrip = models.TextField(max_length=250, blank=True)
category= models.ForeignKey(Kategori, verbose_name="Kategori")
tags = TaggableManager()
created= models.DateTimeField(auto_now_add=True)
updated= models.DateTimeField(auto_now=True)
is_public = models.BooleanField(verbose_name='Göster', default=True)
答案 0 :(得分:2)
检查是否存在当天的记录以及是否具有该用户的有效图片。如果有,则提出异常
def form_valid(self, form):
from datetime import datetime
query = Gonderi.objects.filter(created__date=datetime.now().date(),
author=request.user)
instance = query[0] if query.count() > 0 else None
if instance and instance.image:
#raise your error over here
self.object = form.save(commit=False)
self.object.author= self.request.user
self.object.save()
return super(Upload, self).form_valid(form)