0
私のToolTransactionモデルの外部キーであるPartyIDに関連するFirstNameフィールドとLastNameフィールドを取得しようとしています。私はデータを格納するために使用しているmysqlデータベースを持っています。私の目的はPartyIDではなく、適切な取引で名前を表示させることです。私はすべてのアクティブなトランザクションを表示させることができましたが、私は彼らにもファーストとラストネームのショーを持つことができません。私のコードの中には、問題をトラブルシューティングしようとしていることから少し怪しいかもしれないので、私の謝罪です。Djangoの外部キーの関係とテンプレートの表示
モデル:
class Tool(models.Model):
ToolID=models.CharField(max_length=100, primary_key = True, unique=True, db_column=b'ToolID')
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, db_column=b'PartyID')
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 str(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, db_column='ToolID', on_delete=models.CASCADE, related_name='ToolID_fk',)
PartyID=models.ForeignKey(Party, db_column='PartyID', on_delete=models.CASCADE, related_name='PartyID_fk',)
Quantity=models.IntegerField(null=False)
CheckOutDate=models.DateField(null=False, default=datetime.datetime.now)
CheckInDate=models.DateField(null=True)
Deleted=models.BooleanField(default=0)
objects=ActiveTransactionManager()
#objects=models.Manager()
class Meta:
managed=True
db_table='ToolTransaction'
ordering=('CheckOutID',)
def __unicode__(self):
return str(self.CheckOutID)
def get_absolute_url(self):
return reverse("ToolSearch:toolCheckin", kwargs={"pk": self.CheckOutID})
ビュー:
def tool_transaction_search(request):
instance=ToolTransaction.objects.all()
ToolTransaction.objects.filter(PartyID=instance.PartyID).select_related()
context={
"Transactions": instance,
}
return render(request, "tooltransactionsearch.html", context)
テンプレート:
{% for tran in Transactions %}
<h5>
CheckOutID: <a href="{{ tran.get_absolute_url }}"> {{tran.CheckOutID}} </a> <br>
Name: {{tran.Party.FirstName}} {{tran.LastName}} <br>
PartyID: {{tran.PartyID}} <br>
ToolID: {{tran.ToolID}} <br>
CheckOutDate: {{tran.CheckOutDate}} <br>
CheckInDate: {{tran.CheckInDate}} <br> <br>
</h5>
{% endfor %}
すべてのヘルプは大歓迎されます!あなたはこのように、姓と名を得ることができるので、