猿问

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

我正在创建两个模型:原料配方和配方。这是每一项的代码:


原料配方:


from django.db import models


class 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 models


class Formulas(models.Model):

    name = models.CharField(max_length=100)

    cost = models.FloatField()

    weight = models.FloatField()

如何获取配方中的所有原料配方?


HUWWW
浏览 109回答 3
3回答

qq_笑_17

你可以这样做首先参考你想要的公式,比如f&nbsp;=&nbsp;Formula.objects.get(name&nbsp;=&nbsp;<formula&nbsp;name>)然后你用它来获取原料配方fsf&nbsp;=&nbsp;FeedstockFormulas.objects.filter(formulas&nbsp;=&nbsp;f)

翻翻过去那场雪

FeedstockFormulas您可以通过related_name您的字段访问formulas,该字段默认为feedstockformulas_set您的情况。例如:formula = Formulas.objects.first()print(formula.feedstockformulas_set.all().feedstock)

PIPIONE

您应该将“相关名称”添加到 FeedstockFormulas 的公式字段中。像这样:formulas&nbsp;=&nbsp;models.ForeignKey("dashboard.Formulas",&nbsp;related_name="feed_stock_formulas",on_delete=models.CASCADE,&nbsp;default="")Django 在ForeignKey 上使用反向关系,您可以通过编写以下内容来访问属于公式一部分的所有FeedstockFormula:Formulas.feed_stock_formulas
随时随地看视频慕课网APP

相关分类

Python
我要回答