python - 具有内部关系的 Django Rest_framework 序列化器

标签 python json django serialization django-rest-framework

这是我的models.py的一部分:

class Discount(models.Model):
    discount_id = models.AutoField(primary_key=True)
    discount_category = models.ManyToManyField(Category)
    discount_store = models.ManyToManyField(Store)
    ...

class Store(models.Model):
    store_id = models.AutoField(primary_key=True)
    store_company =models.ForeignKey('Company')
    store_city = models.ForeignKey('City', to_field='city_name')
    ....

这是我的serializer.py的一部分:

class StoreSerializer(serializers.ModelSerializer):
class Meta:
    model = Store
    fields = ('store_location', 'store_city', 'store_name', 'store_address')


class DiscountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Discount
        fields = ('discount_description', 'discount_start', 'discount_end', discount_title', 'discount_category', 'discount_store')

当我为折扣创建 JSON 时,我得到这个 JSON。

[{
    "discount_description": "Description here.",
    "discount_start": "2014-08-07T14:35:13Z",
    "discount_end": "2014-08-30T14:35:15Z",
    "discount_title": "Lorem İpsum",
    "discount_category": [
        3
    ],
    "discount_store": [
        1
    ]
}]

但我想查看“discount_store”中的商店详细信息。为此我尝试了很多关系。但我一直得到这个 JSON。

最佳答案

您是否尝试将选项深度添加到Meta类中?也许是这样的:

class DiscountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Discount
        fields = ('discount_description', 'discount_start', 'discount_end', 'discount_title', 'discount_category', 'discount_store')
        depth = 1

关于python - 具有内部关系的 Django Rest_framework 序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25181729/

相关文章:

python - Django - Mac 开发,环境 hell

python - 无法理解的 Django Runserver 错误

django - django 中的实时通知/聊天

python - 如何从 pygresql 捕获特定异常?

python - 使用 dbutils 在 Databricks 中上传后从目录中删除文件

javascript - 将数据转换为 JSON

java - GSON将json转换为类对象

python - 如何在 xonsh 提示符中有条件地使用 {env_name}

python - 如何通过域 django 传输 session 变量?

Java JSON 输出双 }} 结尾