具有内部关系的Django rest_framework串行器 [英] Django rest_framework serializer with inner relationship
本文介绍了具有内部关系的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('城市',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_descrip
当我创建JSON的折扣我得到这个JSON。
[{
discount_description:此处的说明。 ,
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。
解决方案
你尝试添加选项 depth
到Meta类?可能是这样的:
class DiscountSerializer(serializers.ModelSerializer):
/ pre>
class Meta:
model = Discount
fields =('discount_description','discount_start','discount_end','discount_title','discount_category','discount_store')
depth = 1
Here part of my 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') ....
Here part of my 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')
When I create JSON for discount I get this 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 ] }]
But I want to see store details in "discount_store". I tried a lot of relationship for this. But all the time I get this JSON.
解决方案Did you try to add the option
depth
to the Meta class? Maybe like this:class DiscountSerializer(serializers.ModelSerializer): class Meta: model = Discount fields = ('discount_description', 'discount_start', 'discount_end', 'discount_title', 'discount_category', 'discount_store') depth = 1
这篇关于具有内部关系的Django rest_framework串行器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文