Estoy escribiendo una aplicación que almacena "Trabajos". Se definen como tener una ForeignKey vinculada a un "Usuario". No entiendo cómo pasar ForeignKey en el modelo al crearlo. Mi modelo para trabajo funcionó bien sin una clave externa, pero ahora que estoy tratando de agregar usuarios al sistema no puedo obtener el formulario para validar.En Django, ¿cómo se transfiere ForeignKey a una instancia de un modelo?
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
En views.py estaba creando los objetos de la siguiente manera:
if request.method == 'POST':
form = JobForm(request.POST, request.FILES)
if form.is_valid():
#Do something here
entiendo que esto pasa los datos del formulario y los archivos cargados en el formulario. Sin embargo, no entiendo cómo pasar un Usuario para establecerse como ForeignKey.
Gracias de antemano a cualquiera que pueda ayudar.
Esto funciona bien, excepto que 'request.user' debe ser 'request.user.id'. Gracias. – user1216674
@ user1216674 En realidad, en Django 1.6.1 request.user funciona bien – AndrewSmiley
request.POST es inmutable – mossplix