簡體   English   中英

手動輸入Django模型形式的值

[英]Manually enter a value in django model form

我正在使用django的默認User類。 我做了一個UserImage類來存儲用戶的圖像。

class UserImage(models.Model):
    user_id = models.ForeignKey(User, blank=False)
    image_url = models.ImageField(upload_to='users/images/')

ImageUploadForm表單中,我只希望用戶選擇image_url ,並將user_id設置為當前經過身份驗證的用戶ID。 這是圖片上傳表格,

class ImageUploadForm(forms.ModelForm):
    class Meta:
        model = UserImage
        fields = {'image_url'}

通常我會這樣保存模型表格

form = ProjectForm(request.POST or None, instance=project)

    if request.POST and form.is_valid():
        form.save()
        return HttpResponseRedirect(reverse('projects:project_dashboard', kwargs={'project_id': project_id}))

那么,如何在此處包含user_id字段? 我應該在視圖中將其設為隱藏字段嗎? 還是有更好的選擇?

我相信圖片將由經過身份驗證的用戶上傳,對嗎? 我的意思是,只有登錄后,他/她才能上傳圖像。 在這種情況下,您只需在用戶參數中使用request.user即可。

if form.is_valid():
   user_image = form.save(commit=False)
   user_image.user_id = request.user.id
   user_image.save()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM