如果了解Django框架model.py机制的小朋友都应该知道
id不需要自己写,执行
python3 manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更
python3 manage.py migrate # 创建数据库
都会自动生成id主键,且没办法修改名字和长度还有默认值
好了,现在实现出来
# 用户
class User(models.Model):
user_id = models.UUIDField(primary_key=True, auto_created=True, default=uuid.uuid4, editable=False)
user_full_name = models.CharField('用户名', max_length=30, null=True, blank=True, )
user_name = models.CharField('账号', max_length=30)
user_password = models.CharField('密码', max_length=30)
user_email = models.CharField('邮箱', max_length=45, null=True, blank=True)
user_sex = models.IntegerField('性别')
user_age = models.IntegerField('年龄')
user_phone_number = models.CharField('电话号码', null=True, blank=True,max_length=20,)
user_card = models.CharField('身份证号码', max_length=30)
role = models.ForeignKey('Role', on_delete=models.CASCADE)
createby = models.CharField('创建者', max_length=32)
createtime = models.DateTimeField('创建时间', default=timezone.now)
updateby = models.CharField('更新者', max_length=32, null=True)
updatetime = models.DateTimeField('更新时间', blank=True, null=True)
is_active = models.IntegerField('是否使用', blank=True, null=True, default=1)
img_url = models.ImageField('头像', upload_to='img', blank=True, null=True)
class Meta:
db_table = 'sys_user'
def get_id(self):
return self.id
主键,默认32位uuid