基于Django的在线MOOC学习系统(3)——创建 user App 并设计 models.py
来源:互联网 发布:我打软件技巧 编辑:程序博客网 时间:2024/06/11 21:10
创建 user App:
设计 models.py:
在继承 AbstractUser 的基础上,对 PersonalInformation 表进行设计
AbstractUser:
class AbstractUser(AbstractBaseUser, PermissionsMixin): """ An abstract base class implementing a fully featured User model with admin-compliant permissions. Username and password are required. Other fields are optional. """ username_validator = UnicodeUsernameValidator() if six.PY3 else ASCIIUsernameValidator() username = models.CharField( _('username'), max_length=150, unique=True, help_text=_('Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.'), validators=[username_validator], error_messages={ 'unique': _("A user with that username already exists."), }, ) first_name = models.CharField(_('first name'), max_length=30, blank=True) last_name = models.CharField(_('last name'), max_length=30, blank=True) email = models.EmailField(_('email address'), blank=True) is_staff = models.BooleanField( _('staff status'), default=False, help_text=_('Designates whether the user can log into this admin site.'), ) is_active = models.BooleanField( _('active'), default=True, help_text=_( 'Designates whether this user should be treated as active. ' 'Unselect this instead of deleting accounts.' ), ) date_joined = models.DateTimeField(_('date joined'), default=timezone.now) objects = UserManager() USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] class Meta: verbose_name = _('user') verbose_name_plural = _('users') abstract = True def get_full_name(self): """ Returns the first_name plus the last_name, with a space in between. """ full_name = '%s %s' % (self.first_name, self.last_name) return full_name.strip() def get_short_name(self): "Returns the short name for the user." return self.first_name def email_user(self, subject, message, from_email=None, **kwargs): """ Sends an email to this User. """ send_mail(subject, message, from_email, [self.email], **kwargs)
注册 app ,并替换原来的 user 表:
数据表实体-联系图(E-R图):
迁移数据:
0 0
- 基于Django的在线MOOC学习系统(3)——创建 user App 并设计 models.py
- 基于Django的在线MOOC学习系统(5)——创建其余 App 并设计 对应的models.py
- 基于Django的在线MOOC学习系统(4)——创建 course App 并设计 models.py
- 基于Django的在线MOOC学习系统(1)——Django App 设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(8)——User models.py的设计
- 基于Django的在线MOOC学习系统(2)——新建项目
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(9)——Course models.py的设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(10)——Organization models.py的设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(10)——Operation models.py的设计
- 基于 Django1.10 文档的深入学习(3)—— models.py 之 FileField
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- django学习——model.py中重写user模型
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(14)——各个App的adminx.py的设置
- Django-1.8.3新建一个简单的News app——02models
- Django(二) models.py
- 初识Django-models.py
- 基于How To Tango With Django 1.7的实践(5)——Models and Databases
- Django学习笔记之——Models
- sql server 2008导出数据注意事项
- 微信6.2开发笔记
- ZOJ Problem Set
- 二分查找
- 最短路
- 基于Django的在线MOOC学习系统(3)——创建 user App 并设计 models.py
- 如何将数据序列化为XML格式
- 【贪心】洛谷 P1007 独木桥
- 获取项目文件目录下的所有文件路径
- Spring整合JUnit4测试使用注解引入多个配置文件
- Where条件的in里面放太多数据导致很慢
- Android开发入门(二)——基本语法2
- ADO.Net ExecuteScalar、ExecuteReader不只是我想的这样的用处。
- 深入浅出讲述提升 WordPress 性能的九大秘笈