2017-11-30 7 views
0

私の英語はあまり神ではありません。それが私の問題です。 私は、ユーザー名フィールドで、デフォルトでは、電子メールフィールドどのようにPythonのユーザークラスのユーザー名フィールドにデフォルト値を与える

これは私のメンバーモデルでの値与えたい:

from django.db import models 
from django.contrib.auth.models import User 

    class Member(User): 

     class Meta: 
      verbose_name_plural = 'Member' 

my serializer file

おかげ

+1

ユーザが 'username'を提供しない場合、ユーザ名として電子メールを使用したいと思います。右? –

+0

はい、私は電子メール – willkoua

答えて

0

をあなたの説明に依存します。

from django.db import models 
from django.contrib.auth.models import User 

class Member(User): 
    def save(self, *args, **kwargs): 
     if not self.username: 
      self.username = self.email 
     super(Member, self).save(*args, **kwargs) 

    class Meta: 
     verbose_name_plural = 'Member' 
+0

応答に感謝しますが、彼は動作しません。 } "" – willkoua

+0

'シリアライザ'の 'username'フィールドに' required = False'を追加してください。 –

+0

返信いただきありがとうございますが、私はユーザー名にメールの価値を持たせたいと思います。私はあなたのメソッドを使用する場合、ユーザー名が同じ値を持つことはできませんので、それは動作しません。 – willkoua

関連する問題