微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从Django rest框架的多个模型中仅选择我想要的字段?

如何解决如何从Django rest框架的多个模型中仅选择我想要的字段?

这是我的模型。py:

class UnitOfMeasurement(models.Model):
    active = models.BooleanField(default=True)
    name = models.CharField(max_length=255)
    measurement_type = models.CharField(max_length=255)

    def __str__(self):
        return self.name


class Category(models.Model):
    name = models.CharField(max_length=250)
    abbreviation=models.CharField(max_length=10)
    active = models.BooleanField(default=True)
    description=models.CharField(max_length=500,blank=True,null=True)

    def __str__(self):
        return self.name



class Product(models.Model):
    active = models.BooleanField(default=True)
    bar_code = models.CharField(max_length=50,blank = True,null = True)
    name = models.CharField(max_length=250)
    category = models.ForeignKey(
        Category,on_delete=models.CASCADE,related_name='product')
    brand = models.CharField(max_length=250)
    model = models.CharField(max_length=250)
    tag = models.CharField(max_length=250,null=True)
    remarks = models.TextField(null=True)
    gstcode = models.ForeignKey(
        GSTCode,related_name='product',null=True)
    unit_of_measurement = models.ForeignKey(
        UnitOfMeasurement,on_delete=models.DO_nothing,related_name='category')
    # picture
    objects=ProductManager()

    # select the product where active=true & quantity<0
    def __str__(self):
        return self.name

那么我该如何编码我的序列化器和视图,以便从产品型号返回返回名称,类别,品牌,型号,标签的数据类别模型中的em>名称以及 UnitOfMeasurement模型中的名称 measurement_type

解决方法

您可以从序列化器的模型中选择字段,如 UnitOfMeasurement 的示例代码所示,并将此序列化器用于get(retrieve)请求。

class UnitOfMeasurementSerializer(serializers.ModelSerializer):

    class Meta:
        model = UnitOfMeasurement
        fields = ["name","measurement_type"]

您可以对其余模型执行相同的操作。 视图取决于您的用例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。