我正在寫一個存儲「作業」的應用程序。它們被定義爲具有鏈接到「用戶」的ForeignKey。我不明白如何在創建它時將ForeignKey傳遞到模型中。 My Model for Job在沒有ForeignKey的情況下工作得很好,但現在我試圖將用戶添加到系統中,我無法獲取表單進行驗證。在Django中,你如何將一個ForeignKey傳遞給模型的一個實例?
models.py:
from django.db import models
from django import forms
from django.contrib.auth.models import User
class Job(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=50, blank=True)
pub_date = models.DateTimeField('date published', auto_now_add=True)
orig_image = models.ImageField('uploaded image', upload_to='origImageDB/', blank=True)
clean_image = models.ImageField('clean image', upload_to='cleanImageDB/', blank=True)
fullsize_image = models.ImageField('fullsize image', upload_to='fullsizeImageDB/')
fullsize_clean_image = models.ImageField('fullsize clean image', upload_to='fullsizeCleanImageDB/')
regions = models.TextField(blank=True)
orig_regions = models.TextField(blank=True)
class JobForm(forms.ModelForm):
class Meta:
model = Job
在views.py我創建的對象如下:
if request.method == 'POST':
form = JobForm(request.POST, request.FILES)
if form.is_valid():
#Do something here
我明白,這傳遞了一個形式數據和上傳文件的形式。但是,我不明白如何傳遞一個用戶設置爲ForeignKey。
在此先感謝任何可以幫助的人。
這工作正常,除了'request.user'應該是'request.user.id'。謝謝。 – user1216674 2012-02-17 18:02:00
@ user1216674其實在Django 1.6.1中request.user工作正常 – AndrewSmiley 2014-02-18 17:33:06
request.POST是不可變的 – mossplix 2014-04-07 11:46:04