如何在 Django Rest Framework 上从django_countries正确序列化 CountryFie



我正在尝试序列化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

相关内容

最新更新