次のprint(owner)は、私のモデルに含まれるものとは異なる値を返すのはなぜですか?下に定義されている書式設定されたユーザー名を取得することは可能ですか?私は私のdefプロファイル(要求)を簡略化し、私はformattedusernameを取得するための解決策を見つけることができるまで私の他の議論を取り出しました。私のモデルで不要な値を返すrequest.user.attribute
def profile(request):
owner = User.objects.get (formattedusername=request.user.formattedusername)
args = {'user':request.user.formattedusername}
print (owner)
return render(request, 'accounts/profile.html', args)
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
@3-alphas4numeric
[06/Nov/2017 16:18:11] "GET /account/profile/ HTTP/1.1" 200 1416
formattedusernameがHCA \ 3-alphas4numericとしてデータベースに格納され、それはまた、以下で定義されています、それはまた、すべての私の他のモデルでキーフィールドだと使用を回避する方法はありません
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True)
username = models.CharField(max_length=7, unique=True)
formattedusername = models.CharField(max_length=11, unique=True, primary_key = True)
first_name = models.CharField(max_length=40)
last_name = models.CharField(max_length=140)
date_joined = models.DateTimeField(default=timezone.now)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
facility = models.CharField(max_length=140)
jobdescription = models.CharField(max_length=140)
positiondescription = models.CharField(max_length=140)
coid = models.CharField(max_length=5)
streetaddress = models.CharField(max_length=140)
USERNAME_FIELD = 'username'
class Meta:
app_label = 'accounts'
db_table = "user"
def save(self, *args, **kwargs):
self.formattedusername = '{domain}\{username}'.format(
domain='HCA', username=self.username)
super(User, self).save(*args, **kwargs);
「max_length」よりも長いので、有効なユーザー名にすることはできません。 –
フォーマットされたユーザー名は11文字です。私は、ユーザー名ではなく、私のビューにフォーマットされたユーザー名をプルしようとしています。 – student101
'HCA \ 3-alphas4numeric'は20文字です。 –