Django - 使用外键从模型访问模型中的数据

问题描述 投票:0回答:1

为了简单起见,我减少了代码以显示两个模型。我对 Django 非常陌生,已经第二次遵循该教程,但创建了自己的模型。

class Products(models.Model):
        product_name = models.CharField(max_length=50,unique=True,null=False)

        def __str__(self):
            return self.product_name

class Current_tests(models.Model):
        product = models.ForeignKey(Products, on_delete=models.CASCADE)
        no_samples = models.IntegerField(default=0)
        stagecode=models.CharField(max_length=30,default="UPDATE REQUIRED")

        def __str__(self):
            return self.stagecode

我遇到的问题是如何在当前测试中使用外键访问产品模型中的数据。例如,我可能希望将产品名称与特定的 Current_test 数据行 ID 关联,或者根据阶段代码值查找产品名称。

同样,如何获取给定产品名称的所有阶段代码。

在教程上是这样完成的:

q = Question.objects.get(pk=1)

# Display any choices from the related object set -- none so far.
>>> q.choice_set.all()
<QuerySet []>    

https://docs.djangoproject.com/en/5.1/intro/tutorial02/

当我交换我的类时,我收到“AttributeError:'Current_tests'对象没有属性'product_name_set'。

我在这里查看了许多建议使用“相关名称”、“过滤器”的问题,但我无法访问数据。

谢谢

django django-models
1个回答
0
投票

通过异物过滤,需要“__”。使用'_'是找不到异物。

# call foreign object
a = Current_tests.object.get({some code})
b = a.poduct

# filter by foreign object
a = Current_tests.object.get(product__name='{some name}')
b = a.poduct
© www.soinside.com 2019 - 2024. All rights reserved.