Django独特的图像ID生成

时间:2014-06-30 04:40:43

标签: python django

我在django比较新。我正在使用django开发一个项目,我可以选择上传图片。对于上传图片,我有以下模型和视图

models.py

class Photo(models.Model):
    name = models.CharField(max_length = 100)
    photo = models.ImageField(upload_to = 'photos', blank=False,null=True)
    approved = models.BooleanField(default = False)
    uploaded_time = models.DateTimeField()
    description = models.CharField(max_length = 80 , blank = False , null = True)
    approved_by = models.CharField(max_length = 100)
    user = models.ForeignKey(User)

views.py

def UserImageUpload(request):
    if request.method == 'POST':
        form = DocumentForm(request.POST,request.FILES)
        if form.is_valid():
            messages.add_message(request, messages.SUCCESS, 'Your Image upload is waiting for Admin approval')

            newdoc = Photo(photo = request.FILES['photo'],watermarked_image=request.FILES['photo'],user = request.user,name = request.POST['name'],description = request.POST['description'],uploaded_time=datetime.datetime.now(),Certified=request.POST['Certification'])
            newdoc.save()
        else:
            messages.add_message(request, messages.ERROR, 'Something is Missing!')

    else:
        form = DocumentForm()

    uploaded_image = Photo.objects.all()

    return render_to_response('myprofile/user_image_upload.html',{'uploaded_image':uploaded_image,'form':form},context_instance = RequestContext(request))

现在我想为每个上传的图片创建一个自动生成的图片ID 。不要将图像ID 与图像的 pk 搞乱。现在的问题是,我该怎么做。

1 个答案:

答案 0 :(得分:0)

您可以将其作为标识列添加到数据库表中,该表将为每个新行自动递增。而且它不需要是PK。

This post应该会有所帮助。