我正在尝试将django-countries序列化,但我的json没有显示所有可用的国家/地区。我在这里阅读django_countries in django rest framework关于可能的解决方案是什么,但我没有得到我应该得到的结果,或者我认为我应该。
这就是我的Serializer的样子。
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应用程序中迭代的所有可用选项。
任何方向都会受到赞赏。
答案 0 :(得分:2)
使用库随附的CountryFieldMixin。这里有一个记录好的例子
from django_countries.serializers import CountryFieldMixin
class CountrySerializer(CountryFieldMixin, serializers.ModelSerializer):
class Meta:
model = models.Person
fields = ('name', 'email', 'country')