Django Foreign Key and Forms -
i new django , wondering if help. trying display form in template toolcheckout have 2 foreign keys referencing 2 models. keep receiving error , have had no luck finding solution. error: "coercing unicode: need string or buffer, long found" giving error on template line: "{{form.as_p}}"
i using mysql db had built project.
form:
class toolcheckoutcreateform(forms.modelform): class meta: model = tooltransaction fields = [ "toolid", "quantity", "partyid", "checkoutdate", "checkindate", ]
models:
class tool(models.model): toolid=models.charfield(max_length=100, primary_key = true, unique=true, null=false) quantity=models.integerfield(null=false) location=models.charfield(max_length=100, null=false) categoryid=models.integerfield(null=true) deleted=models.booleanfield(default=0) objects=models.manager() class meta: managed=true db_table='tool' def __unicode__(self): return self.toolid def get_absolute_url(self): return reverse("toolsearch:toolsearchresults", kwargs={"pk": self.toolid}) class party(models.model): partyid=models.autofield(primary_key=true) firstname=models.charfield(max_length=100, null=false) lastname=models.charfield(max_length=100, null=false) phonenumber=models.charfield(max_length=25, null=false) organization=models.charfield(max_length=100, null=true) deleted=models.booleanfield(default=0) objects=models.manager() class meta: managed=true db_table='party' def __unicode__(self): return self.partyid def get_absolute_url(self): return reverse("toolsearch:borrowerupdate", kwargs={"pk": self.partyid}) class tooltransaction(models.model): checkoutid=models.autofield(primary_key=true) toolid=models.foreignkey(tool, on_delete=models.cascade) partyid=models.foreignkey(party, on_delete=models.cascade) quantity=models.integerfield(null=false) checkoutdate=models.datefield(null=false) checkindate=models.datefield(null=true) deleted=models.booleanfield(default=0) objects=models.manager() class meta: managed=true db_table='tooltransaction' ordering=('checkoutid',) def __unicode__(self): return str(self.checkoutid) or u'' def get_absolute_url(self): return reverse("toolsearch:toolcheckout", kwargs={"pk": self.checkoutid})
template:
<form method = 'post' action=''> {% csrf_token %} {{form.as_p}} <input type = 'submit' class = "button" value = 'save'/>
any appreciated!
__unicode__()
must return string or unicode. party.__unicode__()
not. fix, convert returned value explicitly string: return str(self.partyid)
Comments
Post a Comment