我正在写一个存储“作业”的应用程序。它们被定义为具有链接到“用户”的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