2016-09-01 19 views
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 %} 

すべてのヘルプは大歓迎されます!あなたはこのように、姓と名を得ることができるので、

答えて

1

クラスToolTransaction内のPartyId属性は、実際に党のインスタンスである:

Name: {{tran.PartyID.FirstName}} {{tran.PartyID.LastName}} 
関連する問題