我的models.py:
# Create your models here.class Doctor(models.Model): ID = models.autoFIEld(primary_key=True) name = models.CharFIEld(max_length=20) def __unicode__(self): return self.IDclass Animal(models.Model): ID = models.autoFIEld(primary_key=True) name = models.CharFIEld(max_length=200) gender = models.CharFIEld(max_length=10,choices=GENDER) breed = models.CharFIEld(max_length=200,) adoption = models.BooleanFIEld(default=False) vaccines = models.CharFIEld(max_length=20,choices=VACCInes) doctor = models.ForeignKey(Doctor,null=True) def __unicode__(self): return self.ID
serialisers.py:
class DoctorSerealiser(serializers.HyperlinkedModelSerializer): class Meta: model = Doctor fIElds = ('ID','name')class AnimalSerialiser(serializers.HyperlinkedModelSerializer): # doctor = DoctorSerealiser(read_only=True) class Meta: model = Animal fIElds = ('ID','name','gender','breed','adoption','vaccines','doctor')
vIEws.py
class AnimalList(vIEwsets.ModelVIEwSet): queryset = Animal.objects.all() serializer_class = AnimalSerialiserclass DoctorDetail(vIEwsets.ModelVIEwSet): queryset = Doctor.objects.all() serializer_class = DoctorSerealiser解决方法 问题出在医生和动物的__unicode__方法中.您正在返回一个int的ID,但此方法会检测str / buffer.将其更改为:
def __unicode__(self): return str(self.ID)总结
以上是内存溢出为你收集整理的python – 强制转换为Unicode:需要字符串或缓冲区,找到int – Django Rest Framework全部内容,希望文章能够帮你解决python – 强制转换为Unicode:需要字符串或缓冲区,找到int – Django Rest Framework所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)