2
モデルとインラインモデルがあります。 インラインモデルからデータを取得し、テンプレート内でforループを返すクエリーセットを作成する必要があります。 ..誰でも助けてくれますか?インラインモデルのループクエリーセット
class Account(models.Model):
uuid = ShortUUIDField(unique=True)
name = models.CharField(max_length=80)
desc = models.TextField(blank=True)
address_one = models.CharField(max_length=100)
def __str__(self):
return u"%s" % self.name
class Rates(models.Model):
airline = models.CharField(max_length=30, blank=True, verbose_name= 'AIRLINE')
dest = models.CharField(max_length=3,blank=True,verbose_name= 'DEST')
name= models.ForeignKey (Account, default = False, related_name="rates")
def __str__(self):
return self.airline
My for loop should retrieve all rates in case account name is XXX
def rates_acc(request, account):
account = Account.objects.get(name = xxx)
rates = [x for x in account.rates.all()]
context = {
'rates': Account.objects.filter (name__name__icontains = 'xxx'),
}
return render(request,'accounts/account.html',context)
私は、ビューがアカウントのパテントを取得する理由を理解していません。何もしません。コードの問題は.filter()です。アカウントモデルの 'name'フィールドは外部キーではありません。だからあなたは__表記を使うことができません。私が理解すれば、代わりにRates.objects.filter(..)に変更する必要があります。そうでない場合は、照会したいレコードが何であるかを説明してください – user3599803