私はDjangoを初めて使っていて、何か助けてもらえないかと思っていました。 2つのモデルを参照している2つの外部キーを持つToolCheckOutのテンプレートにフォームを表示しようとしています。私はこのエラーを受け取り続け、解決策を見つける運がなかった。エラー:「Unicodeに強制する:長い文字列が必要です」この行のテンプレートに「{{form.as_p}}」というエラーが表示されます。Djangoの外部キーとフォーム
以前使用していた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'/>
任意の助けをいただければ幸いです!
完全なトレースバックを表示してください。 –