Я не могу заставить поле State появляться в результате.Не знаю почему.
Моя модель:
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?Может кто-нибудь помочь?У меня есть несколько таких столов.