【发布时间】:2016-08-24 05:14:57
【问题描述】:
我是 Django 新手,想知道是否可以得到一些帮助。 我试图在我的模板中为 ToolCheckOut 显示一个表单,该表单将具有两个引用我的两个模型的外键。我不断收到此错误,但没有找到解决方案。错误:“强制转换为 Unicode:需要字符串或缓冲区,长期发现”它在我的模板上为这一行给出了这个错误:“{{form.as_p}}”
我正在使用我之前为这个项目构建的 mysql 数据库。
表格:
class ToolCheckoutCreateForm(forms.ModelForm):
class Meta:
model = ToolTransaction
fields = [
"ToolID",
"Quantity",
"PartyID",
"CheckOutDate",
"CheckInDate",
]
型号:
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})
模板:
<form method = 'POST' action=''>
{% csrf_token %}
{{form.as_p}}
<input type = 'submit' class = "button" value = 'Save'/>
任何帮助将不胜感激!
【问题讨论】:
-
请显示完整的回溯。
标签: django django-models django-forms django-templates django-views