"ジョブ"を保存するアプリケーションを作成しています。それらは、「ユーザ」にリンクされたForeignKeyを有するものとして定義される。私はそれを作成するときにForeignKeyをモデルに渡す方法を理解していません。私のModel for JobはForeignKeyなしで正常に動作しましたが、今ではユーザーをシステムに追加しようとしています。フォームを検証することができません。Djangoでは、ForeignKeyをモデルのインスタンスにどのように渡しますか?
models.py:次のように私はオブジェクトを作成していたviews.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
:
if request.method == 'POST':
form = JobForm(request.POST, request.FILES)
if form.is_valid():
#Do something here
私は、このフォームにフォームデータとアップロードされたファイルを渡すことを理解しています。しかし、私はUserをForeignKeyとして設定する方法を理解していません。
お手数をおかけしていただきありがとうございます。
'request.user.id'は 'request.user.id'にする必要がありますが、これはうまくいきます。ありがとうございました。 – user1216674
@ user1216674実際にはDjango 1.6.1でrequest.userはうまく動作します – AndrewSmiley
request.POSTは不変です – mossplix