Django序列化器未显示相关字段

Chuyao Wang

我无法在状态字段中显示结果。不知道为什么。

我的模特:

class City(models.Model):
   city_id = models.AutoField(primary_key=True)
   city = models.CharField(max_length=100, blank=True, null=True)
   state = models.ForeignKey('State', models.DO_NOTHING, blank=True, null=True)

   class Meta:
       managed = False
       db_table = 'city'

   def __str__(self):
       return self.city

class State(models.Model):
   state_id = models.AutoField(primary_key=True)
   state = models.CharField(max_length = 10, blank=True, null=True)

   class Meta:
       managed = False
       db_table = 'state'

我的序列化器:

class StateSerializer(serializers.ModelSerializer):
    class Meta:
        model = State
        fields = ('state_id', 'state')


class CitySerializer(serializers.ModelSerializer):
     state = StateSerializer(source='state_set', many=False, read_only = True)
   class Meta:
       model = City
       fields = ('city_id', 'city', 'state')

我的意见:

class CityList(APIView):
    # Return all the cities
   def get(self, request):
       cities = City.objects.all()
       serializer = CitySerializer(cities, many=True)
       return Response(serializer.data)

   def post(self):
       pass

我的结果JSON:

[
{
    "city_id": 242,
    "city": null
},
{
    "city_id": 754,
    "city": "CARY"
},
{
    "city_id": 2085,
    "city": "FROM YOUR"
},...

如何获取状态字段以显示在JSON结果中?有人可以帮忙吗?我有几个这样的桌子。

星期一我

您在CitySerializer中关系不好

城市没有state_set关系...它只有一个

CitySerializer应该如下所示:

class CitySerializer(serializers.ModelSerializer):
    # Removed source.. by default it's like the field name
    # I removed also many=False because it's default

    state = StateSerializer(read_only=True)
    class Meta:
        model = City
        fields = ('city_id', 'city', 'state')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django Rest Framework嵌套的序列化器未显示相关数据

Django Rest Framework序列化器-返回相关字段

在Django GeoJSON序列化器字段中指定相关模型的字段

嵌套序列化器未显示

Django序列化器方法字段

Django REST框架:在序列化器中获取相关模型的字段

Django Rest Framework序列化器以及相关表中的字段

DJANGO:如何编写自定义序列化器,以从相关模型中添加字段?

在序列化器中获取相关字段

django rest框架序列化相关字段

序列化 Django Rest 框架中过滤的相关字段

Django序列化器显示所有要检索的字段,但隐藏列表中的字段

Unity New Input System未显示序列化字段

如何在 Django REST Framework 序列化程序中获取相关字段的相关字段?

Django的GeoJSON序列化程序未序列化所有字段?

不序列化字段,但在检查器中显示

为什么我的序列化器字段不显示?

Django REST序列化器方法可写字段

Django Rest Framework Choices字段序列化器

Django REST Framework序列化器字段必填= false

django输入序列化器日期字段格式

不同的字段类型序列化器 - Django Rest Framework

Django序列化器继承和扩展字段

从Django Rest Framework序列化器中排除字段

Django Rest Framework-筛选序列化器字段

序列化器上的Django Rest Framework条件字段

Django rest框架仅创建序列化器字段

Django Rest Framework:派生模型序列化器字段

嵌套序列化器字段 Django Rest Framework