我正在尝试序列化CountryField(django-countries包(,但我的JSON没有显示所有可用的国家。
我在 django rest 框架中django_countries这里阅读了可能的解决方案,但我没有得到结果。
这是我的序列化程序的样子:
from django_countries.serializer_fields import CountryField
class LocationsSerializer(serializers.ModelSerializer):
country = CountryField()
class Meta:
model = Location
fields = ('location_name', 'address', 'city', 'province', 'postal_code', 'country')
这是我的模型的样子:
from django_countries.fields import CountryField
class Location(models.Model):
location_name = models.CharField(max_length=100, default="None")
address = models.CharField(max_length=100)
city = models.CharField(max_length=100)
province = models.CharField(max_length=100)
postal_code = models.CharField(max_length=100)
country = CountryField()
def __str__(self):
return self.location_name
当我查看 JSON 时,仅显示保存的值,而不是在我的 angularjs 应用程序中迭代的所有可用选项。
任何方向将不胜感激。
使用库附带的 CountryFieldMixin。这里有一个记录在案的例子
from django_countries.serializers import CountryFieldMixin
class CountrySerializer(CountryFieldMixin, serializers.ModelSerializer):
class Meta:
model = models.Person
fields = ('name', 'email', 'country')
https://github.com/SmileyChris/django-countries