Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 28th, 2012  |  syntax: None  |  size: 1.52 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. In Django, how do you pass a ForeignKey into an instance of a Model?
  2. from django.db import models
  3. from django import forms
  4. from django.contrib.auth.models import User
  5.  
  6. class Job(models.Model):
  7.     user = models.ForeignKey(User)
  8.     name = models.CharField(max_length=50, blank=True)
  9.     pub_date = models.DateTimeField('date published', auto_now_add=True)
  10.     orig_image = models.ImageField('uploaded image', upload_to='origImageDB/', blank=True)
  11.     clean_image = models.ImageField('clean image', upload_to='cleanImageDB/', blank=True)
  12.     fullsize_image = models.ImageField('fullsize image', upload_to='fullsizeImageDB/')
  13.     fullsize_clean_image = models.ImageField('fullsize clean image', upload_to='fullsizeCleanImageDB/')
  14.     regions = models.TextField(blank=True)
  15.     orig_regions = models.TextField(blank=True)
  16.  
  17. class JobForm(forms.ModelForm):
  18.     class Meta:
  19.         model = Job
  20.        
  21. if request.method == 'POST':
  22.     form = JobForm(request.POST, request.FILES)
  23.     if form.is_valid():
  24.         #Do something here
  25.        
  26. class JobForm(forms.ModelForm):
  27.     class Meta:
  28.         model = Job
  29.         exclude = ('user',)
  30.  
  31. if request.method == 'POST':
  32.     form = JobForm(request.POST, request.FILES)
  33.     job = form.save(commit=False)
  34.     job.user = request.user
  35.     job.save()
  36.     # the next line isn't necessary here, because we don't have any m2m fields
  37.     # f.save_m2m()
  38.        
  39. if request.method == 'POST':
  40.     data = request.POST
  41.     data['user'] = request.user
  42.     form = JobForm(data, request.FILES)
  43.     if form.is_valid():
  44.         #Do something here