Django REST framewrokは以下を使用します:__ str__が非文字列(タイプNoneType)エラーを返しました



Django Rest Framewrok Uses



エラー

Django REST framewrokでシリアル化してインターフェイスにアクセスすると、次のエラーが発生します。
画像

エラーの原因

Userモデルを自分で作成したので、AbstractUserを拡張し、__ str__メソッドを再ラップし、独自の名前を返し、null == Trueの名前を設定することで、djangoに付属するユーザーを置き換えたため、このエラーが発生します。図:
画像



解決:

自身で定義されたUserモデルの__str__メソッドでgetUserのget_full_name()メソッドを返します。

class UserProfile(AbstractUser): ''' User ''' name = models.CharField(max_length=30,null=True,blank=True,verbose_name='name') birthday = models.DateField(null=True,blank=True,verbose_name='born in the year') mobile = models.CharField(max_length=6,choices=(('male',u'male'),('female','Female')),default='female',verbose_name='gender') gender = models.CharField(max_length=11, verbose_name='phone') email = models.EmailField(max_length=100,null=True,blank=True,verbose_name='mailbox') class Meta: verbose_name = 'user' verbose_name_plural = verbose_name def __str__(self): return self.get_full_name()