不能分配" u' 1'":" PropiedadesCond.Condominio"必须是" Condominios"例

时间:2014-06-25 16:24:59

标签: python django django-views

我试图将会话生成的公司ID分配给属于该公司的新产品,但我一直收到此错误,而且我不确定它的含义。

非常感谢任何帮助

Models.py

class Condominios(models.Model):
    idCondominio = models.AutoField(primary_key=True, null=False, max_length=15)
    idUser = models.OneToOneField(User)
    Nombre = models.CharField(max_length=200)
    Direccion = models.CharField(max_length=100)
    Colonia = models.CharField(max_length=100)
    CP = models.CharField(max_length=100)
    Municipio = models.CharField(max_length=100)
    Estado = models.CharField(max_length=100)
    Pais = models.CharField(max_length=100)
    Tamanom2 = models.CharField(max_length=20)
    Frentem2 = models.CharField(max_length=20)
    Fondom2 = models.CharField(max_length=20)
    def __unicode__(self):
        return unicode(self.Nombre)

views.py

@login_required(login_url="/inicioc/")
def nuevapropiedad(request):
    if request.method == "POST":
        form = NuevaPropiedad(request.POST)
        if form.is_valid():
            propiedad = PropiedadesCond(idUser=request.user, Condominio=request.session["idCondominio"], Numero=request.POST.get("Numero", ""), Nombre=request.POST.get("Nombre", ""), Tamanom2=request.POST.get("Tamanom2", ""), Ocupante=request.POST.get("Ocupante", ""), Propietario=request.POST.get("Propietario", ""), Telefono=request.POST.get("Telefono", ""), Celular=request.POST.get("Celular", ""), Correo=request.POST.get("Correo", ""))
            form.save()
            return render(request, "immovelc/propiedades.html")
        else:
            return render(request, "immovelc/nuevapropiedad.html",
                          {"form": form})
    return  render(request, "immovelc/nuevapropiedad.html")

forms.py

class NuevaPropiedad(ModelForm):
    class Meta:
        model = PropiedadesCond
        fields = ["Numero", "Nombre", "Tamanom2", "Ocupante", "Propietario", "Telefono", "Celular", "Correo"]

谢谢!

1 个答案:

答案 0 :(得分:0)

propiedad = 
    PropiedadesCond(
    idUser=request.user, 
    Condominio=request.session["idCondominio"],    # <------- problem
    Numero=request.POST.get("Numero", ""), Nombre=request.POST.get("Nombre", ""),
    Tamanom2=request.POST.get("Tamanom2", ""),
    Ocupante=request.POST.get("Ocupante", ""), 
    Propietario=request.POST.get("Propietario", ""), 
    Telefono=request.POST.get("Telefono", ""), 
    Celular=request.POST.get("Celular", ""), 
    Correo=request.POST.get("Correo", ""))

如果没有看到你的Propiedades模型,我会冒险猜测你需要 在构造Propiedades对象之前首先获取或实例化Condominio对象。 构造函数将尝试将您从会话中获得的unicode字符串u'1'分配给Condominio对象,这会导致您描述的错误。