我喜欢澄清我是 Django 的新手。
Versions:
Django 1.5
Python 2.7
PostgreSQL 9.3
我有一个将文件上传到 AWS S3 的 webapp,目前可以使用。我想将文件命名为contentid在上传时自动分配 V4 UUID 的字段的名称。我会尝试挑选相关信息并在此处发布。我不确定我会在哪里收集这些信息并将其声明为名称。
看法
def upload_content(request):
if request.method == 'POST':
    form = ContentForm(request.POST, request.FILES)
    if form.is_valid():
        new_content = Content(name=request.POST['name'],accountid=request.user.id,public=False,url=request.POST['name'],uploaddate=datetime.now(),viewcount='0',file = request.FILES['file'])
        new_content.save()
        return HttpResponseRedirect('/Console/Content/')
模型
class Content(models.Model):
    name = models.CharField(max_length=128)
    accountid = models.IntegerField(max_length=34)
    url = models.CharField(max_length=200)
    uploaddate = models.DateTimeField('date published')
    viewcount = models.IntegerField(max_length=34)
    public = models.BooleanField(max_length=1)
    contentid = UUIDField(unique=True,editable=False)
    file = models.FileField(upload_to='content')
@classmethod
def get_content_list(cls, account):
    cursor = connection.cursor()
    cursor.execute('SELECT name, contentid, public, uploaddate, id FROM webapp_content WHERE accountid=%s ORDER BY uploaddate', [account])
    ret = cursor.fetchall()
    return ret