0
私はこの質問がすでに数回尋ねられていると思いますが、質問とその回答ははっきりしていません。見出しの質問や下の例を明確にすることができれば。してください。Djangoビュー内の別のモデルからフィールドを取得するにはどうすればよいですか?
例: 私の果樹園には果樹園があり、私にはリンゴの畑があり、これらのリンゴの木にリンゴが付いています。質問は私のモデルを使用している:
- 私は与えられたフィールドにりんごの数を得るのですか?
- 与えられた畑で生産されたすべてのリンゴの総量?
モデル
class Field(models.Model):
size = models.PositiveIntergerField()
max_tree_number = models.PositiveIntergerField()
class Tree(models.Model):
field = models.ForeignKey(Field)
date_of_planting = models.datefield(editable=False)
variety = models.CharField(max_length=200)
class Apple(models.Model):
tree = models.ForeignKey(Tree)
mass = models.PositiveIntergerField()
ビュー
class FieldView(generic.ListView):
template = '[app_name]/index.html'
def get_context_data(self, **kwargs):
context = super(FieldView, self).get_context_data(**kwargs)
context['tree_count'] = Field._meta.model_name
context['mass'] = ???
context['apple_count'] = ???
あなたはリンゴとマスの数を使用してクエリセットをannotateすることができ、あなたの時間
ありがとうございます。しかし、私はself.objectに問題があります。 >> AttributeError: 'FIELDVIEW'オブジェクトに 'object'という属性がありません。明白な何かを逃したことがありますか? – TheSadPrinter
申し訳ありませんが、私は前にあなたの質問を誤解し、あなたが特定の果樹園の詳細ビューを持っていると思った。どの果樹園でその結果を知りたいですか?リストのすべての果樹園は? – Alasdair
最終目標はページを持つことです。隣にリンゴの数があるフィールドで。 >>フィールド。りんご。 >> Field1 100 >> field2 200 >>そうです...あなたは私が尋ねたことはまったく正しいですが、self.objectはオブジェクトを返していません。私はそれが起こるようにコードの主要な行を見逃している場合は、ちょうど不思議。 – TheSadPrinter