我有一个这样的模型:
from django.db import models
from django_countries.fields import CountryField
class Location(models.Model):
company = models.CharField(max_length=64)
country = CountryField()
def __unicode__(self):
return self.company
现在我使用TastyPie作为API。我得到了一个非常简单的模型(尽管我以前用过滤器和字段编辑过但没有成功):
class LocationResource(ModelResource):
class Meta:
queryset = Location.objects.all()
resource_name = 'location'
它返回的内容:
{"company": "testcompany", "country":"DE" "resource_uri": "/api/location/1/"}
我需要的是国家名称,甚至更好的国家/地区的任何内容。
答案 0 :(得分:1)
您可以为country
LocationResource
的脱水方法
def dehydrate_country(self, bundle):
return bundle.obj.country.name
<强> OR
强>
如果您使用 DRF 实例化Country field
from django_countries.serializer_fields import CountryField
country = CountryField(country_dict=True)
在serializer
。
答案 1 :(得分:1)
您可以从django_countries数据字典中获取名称
from django_countries.data import COUNTRIES
country_name = COUNTRIES[country_code]
答案 2 :(得分:0)
在使用DRF的情况下,对序列化程序进行一些调整可能会起作用
{{1}}