Hola, soy nueva usando django. Estaba haciendo un formulario de registro con "forms" pero me surgió un error con el campo "Pais" que es utilizado como ForeignKey el la clase Perfiles
Este es mi código:
models.py
from django.db import models
from django.contrib.auth.models import User
class Pais(models.Model):
nombre = models.CharField(max_length=50)
def __unicode__(self):
return self.nombre
class Perfiles(models.Model):
usuario = models.OneToOneField(User)
pais = models.ForeignKey(Pais)
def __unicode__(self):
return self.usuario.username
forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm
from .models import Pais
class UserForm(UserCreationForm):
pais = forms.ModelMultipleChoiceField(queryset=Pais.objects.all())
views.py
from django.views.generic import TemplateView, FormView
from .forms import UserForm
from django.core.urlresolvers import reverse_lazy
from .models import Perfiles
class Registrarse(FormView):
template_name = 'inicio/registrarse.html'
form_class = UserForm
success_url = reverse_lazy('registrarse')
def form_valid(self, form):
user = form.save()
perfil = Perfiles()
perfil.usuario = user
perfil.pais = form.cleaned_data['pais']
perfil.save()
return super(Registrarse , self).form_valid(form)
Cuando corro el servidor y trato de registrar a alguien me aparece el siguiente error: No se puede asignar "[<Pais: Argentina>]": "Perfiles.pais" debe ser una instancia de "País".
Si alguien puede orientarme en lo que estoy haciendo mal le agradecere, soy conciente de que debe ser una pavada pero no logro detectarla.
Saludos