我感觉,整个世界都崩塌了,本来打算来深圳找自己喜欢的工作,实现自己的目标和抱负。现在发现还没开始就结束了,真的难受。
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name='昵称')
nickname = models.CharField(max_length=20)
def __str__(self):
return '<Profile: %s for %s>' % (self.nickname, self.user.username)
def get_nickname(self):
if Profile.objects.filter(user=self).exists():
profile = Profile.objects.get(user=self)
return profile.nickname
else:
return ''
def get_nickname_or_username(self):
if Profile.objects.filter(user=self).exists():
profile = Profile.objects.get(user=self)
return profile.nickname
else:
return self.username
def has_nickname(self):
return Profile.objects.filter(user=self).exists()
User.get_nickname = get_nickname
User.get_nickname_or_username = get_nickname_or_username
User.has_nickname = has_nickname
今天的学习,在修改昵称的操作上,把方法封装好,可以整个进行使用。其实就是改了User模型里面的change_name方法。