如何在Django Rest Framework上正确序列化来自django_国家的CountryField?

huwehgph  于 2023-01-14  发布在  Go
关注(0)|答案(1)|浏览(136)

我试图将a CountryField(django-countries包)序列化,但是我的JSON没有显示所有可用的国家。
我在这里读到django_countries in django rest framework关于可能的解决方案是什么,但我没有得到结果。
这是我的序列化器的外观:

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应用程序中迭代。
任何方向都将不胜感激。

moiiocjp

moiiocjp1#

使用随库提供的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

相关问题