[英]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.