为了账号安全,请及时绑定邮箱和手机立即绑定

Django - 如何从具有外键的模型中获取所有项目?

Django - 如何从具有外键的模型中获取所有项目?

HUWWW 2023-07-05 10:18:15
我正在创建两个模型:原料配方和配方。这是每一项的代码:原料配方: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贡献1818条经验 获得超7个赞

你可以这样做

首先参考你想要的公式,比如

f = Formula.objects.get(name = <formula name>)

然后你用它来获取原料配方

fsf = FeedstockFormulas.objects.filter(formulas = f)


查看完整回答
反对 回复 2023-07-05
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

FeedstockFormulas您可以通过related_name您的字段访问formulas,该字段默认为feedstockformulas_set您的情况。


例如:


formula = Formulas.objects.first()

print(formula.feedstockformulas_set.all().feedstock)


查看完整回答
反对 回复 2023-07-05
?
PIPIONE

TA贡献1829条经验 获得超9个赞

您应该将“相关名称”添加到 FeedstockFormulas 的公式字段中。

像这样:

formulas = models.ForeignKey("dashboard.Formulas", related_name="feed_stock_formulas",on_delete=models.CASCADE, default="")

Django 在ForeignKey 上使用反向关系,您可以通过编写以下内容来访问属于公式一部分的所有FeedstockFormula:

Formulas.feed_stock_formulas


查看完整回答
反对 回复 2023-07-05
  • 3 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信