1.用户模块模型类创建
1.1 创建用户的子应用
python .\manage.py startapp userapp
在settings中挂载子应用
创建子应用urls.py
在主应用中加入子应用的urls.py
1.2 创建表
如何在直接导入sql文件形成表,这里就直接在navicate中把sql文件拖进去点击开始即可
这里我们的表已经生成,通过表返向生成模型
python .\manage.py inspectdb area > userapp/models.py
1.3 解决报错
ValueError: source code string cannot contain null bytes
这是编码格式不是utf-8问题,解决方法:
方法1:VSCode右下角转码为utf-8
方法2:偏方来着,因为我用方法1时,没有转码成功,然后我就继续往下写,VSCode就会自动转码成utf-8
方法3:使用notepad++,转码为utf-8(推荐!!!)
1.4 创建其他模型类
from django.db import models
# 返向生成的地址表
class Area(models.Model):
areaid = models.IntegerField(primary_key=True)
areaname = models.CharField(max_length=50)
parentid = models.IntegerField()
arealevel = models.IntegerField()
status = models.IntegerField()
class Meta:
managed = False
db_table = 'area'
class UserInfo(models.Model):
uname = models.CharField(max_length=100, verbose_name='用户名')
pwd = models.CharField(max_length=100, verbose_name='密码')
def __str__(self) -> str:
return self.uname
class Address(models.Model):
aname = models.CharField(max_length=30)
aphone = models.CharField(max_length=11)
addr = models.CharField(max_length=100)
isdefault = models.BooleanField(default=False)
userinfo = models.ForeignKey(UserInfo, on_delete=models.CASCADE)
def __str__(self) -> str:
return self.aname
Django数据库迁移