1
関連オブジェクトを効率的に取得するのに問題があります。私のモデルは、現在、私はアカウントのtransaced_with
の集約されたリストを取得するには、これまで行ってきた何このクエリセットに対してDjangoの外部キーを効率的にトラバースする
class Transaction(models.Model):
from_account = models.ForeignKey(Account, related_name="sent")
to_account = models.ForeignKey(Account, related_name="recieved")
...
class Account(models.Model):
address = models.CharField(max_length=42, primary_key=True)
...
ように見える 次のようにされています。この方法では、しかしそう、非常に遅いです
accs = []
if hasattr(account, 'recieved'):
for tx in account.recieved.all():
acc = tx.from_account
accs.append(acc)
if hasattr(account, 'sent'):
for tx in account.sent.all():
acc = tx.to_account
accs.append(acc)
return accs
私は不思議だった どのような関連オブジェクトのこれらの並べ替えを集めるための効率的な方法は何ですか?私が最後に望むのは、Account
のaddress
のリストです。accs