嗨,大家好,我如何從django中的「第三」相關模型中獲取數據?
我有這個型號:
class Pais(models.Model):
nome = models.CharField('Nome', max_length=50)
class Brinq(models.Model):
descricao = models.CharField('Nome', max_length=50)
class Filhos(models.Model):
nome = models.CharField('Nome', max_length=50)
idade = models.IntegerField('Idade')
pai = models.ForeignKey('Pais')
brinq = models.ForeignKey('Brinq', related_name='Brinq')
這一觀點:
def editPai(request, idpai=None):
if idpai:
pai = Pais.objects.get(id=idpai)
else:
pai = None
ItensInlineFormSet = inlineformset_factory(Pais, Filhos, form=FilhosForm, extra=1)
formPais = PaisForm()
formsetItens = ItensInlineFormSet(instance=pai)
return render_to_response("base.html", {
"formPais": formPais, "formsetItens": formsetItens
}, context_instance=RequestContext(request),)
這個形式:
class PaisForm(ModelForm):
class Meta:
model = Pais
class FilhosForm(ModelForm):
class Meta:
model = Filhos
好吧,我怎樣才能得到「descricao 「我的模板中的」Brinq「模型的價值?我認爲這是一個簡單的問題,但是,我嘗試着從網上尋找,再看和尋找,而且我沒有找到任何有關這方面的信息。
我開始使用django無法做到這一點,我想相信我錯了,但正如我所說的,我沒有在互聯網上找到任何有關這方面的信息。
我嘗試:
{% for form in formsetItens %}
<tr>
<td> {{ form.nome }}</td>
<td> {{ form.idade }}</td>
<td> {{ form.brinq__descricao }}</td>
</tr>
{% endfor %}
和{{ form.brinq.descricao}}
來,並沒有什麼... :(
誰能幫我解決這個問題
問候,
我不明白你的問題。如果這是「Pais」表單,則不能訪問「brinq.descricao」,因爲不存在關係「pais.brinq」。 'Pais'通過n:m'Filhos'關係具有幾個綁定的'Brinq'模型。此外,您可以使用'form.instance.your_related_model.some_property'進行測試。 – danihp
@danihp我嘗試訪問'Filhos'模型,它有'brinq' FK字段到'Brinq'模型。我的問題是,如何使用'Filhos'模型訪問'brinq'值?就像在我的例子中,我有'formsetItens'是來自'Filhos'的一個inlineformset。我認爲django在查詢獲取我所有的'Filhos'值時,django放入一些JOIN來獲取所有相關的字段os'Filhos'模型。 –