我正在創(chuàng)建兩個(gè)模型:原料配方和配方。這是每一項(xiàng)的代碼:原料配方:from django.db import modelsclass FeedstockFormulas(models.Model): ratio = models.FloatField() feedstock = models.OneToOneField("dashboard.Feedstock", on_delete=models.CASCADE, default="0") formulas = models.ForeignKey("dashboard.Formulas", on_delete=models.CASCADE, default="")公式:from django.db import modelsclass Formulas(models.Model): name = models.CharField(max_length=100) cost = models.FloatField() weight = models.FloatField()如何獲取配方中的所有原料配方?
3 回答

qq_笑_17
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以這樣做
首先參考你想要的公式,比如
f = Formula.objects.get(name = <formula name>)
然后你用它來獲取原料配方
fsf = FeedstockFormulas.objects.filter(formulas = f)

翻翻過去那場雪
TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
FeedstockFormulas您可以通過related_name您的字段訪問formulas,該字段默認(rèn)為feedstockformulas_set您的情況。
例如:
formula = Formulas.objects.first()
print(formula.feedstockformulas_set.all().feedstock)

PIPIONE
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
您應(yīng)該將“相關(guān)名稱”添加到 FeedstockFormulas 的公式字段中。
像這樣:
formulas = models.ForeignKey("dashboard.Formulas", related_name="feed_stock_formulas",on_delete=models.CASCADE, default="")
Django 在ForeignKey 上使用反向關(guān)系,您可以通過編寫以下內(nèi)容來訪問屬于公式一部分的所有FeedstockFormula:
Formulas.feed_stock_formulas
添加回答
舉報(bào)
0/150
提交
取消