class User(AbstractBaseUser, PermissionsMixin):
    # pass
    # 不适用自增长的模型 使用uuid 全球唯一的字符串  short uuidpi
    id = ShortUUIDField(primary_key=True)
    uid = models.IntegerField(unique=True)
    username = models.CharField(max_length=200, unique=True)
    nickname = models.CharField(max_length=200)
    is_owner = models.CharField(max_length=200)
    password = models.CharField(max_length=200)
    usergroup_id = models.IntegerField()
    date_joined = models.DateTimeField(auto_now_add=True)
    email = models.CharField(unique=True, max_length=200)

EventManage app下的model

class Event(models.Model):
    title = models.CharField(default='',max_length=255,verbose_name='标题')
    event_status = models.IntegerField(choices=((0,'进行中'),(1,'完成')),verbose_name='事件状态')
    event_type = models.IntegerField(choices=((1,'业务变更'),(2,'网络优化'),(3,'质询')),verbose_name='事件类型')
    event_reason = models.IntegerField(choices=((0,'无'),(1,'业务变化'),(2,'网络隐患'),(3,'客户质询'),(4,'内部质询')),verbose_name='事件原因')
    customer_name = models.CharField(default='',max_length=255,verbose_name='客户名称')
    business_num = models.CharField(default='',max_length=255,verbose_name='业务编号')
    event_phenomenon = models.IntegerField(choices=((0,'无'),(1,'丢包'),(2,'延时增大'),(3,'中断'),(4,'流量异常')),verbose_name='事件现象')
    treat_measures = models.TextField(default='',verbose_name='处理措施')
    treat_process = models.TextField(default='',verbose_name='处理过程')
    start_time= models.CharField(default='',max_length=255,verbose_name='开始时间')
    end_time= models.CharField(default='',max_length=255,verbose_name='结束时间')
    influence_duration = models.CharField(default='',max_length=255,verbose_name='影响时长')
    event_originator = models.ForeignKey(to='ttsauth.User',on_delete=models.CASCADE,verbose_name='事件发起人')
    originator_phone = models.CharField(default='',max_length=11)
                    ttuauth  app下面的modelclass User(AbstractBaseUser, PermissionsMixin):    # pass    # 不适用自增长的模型 使用uuid 全球唯一的字符串  short uuidpi    id = ShortUUIDField(primary_key=True)    uid = models.IntegerField(un...
python manage.py makemigrations [appname]
这里的appname是指你需要指定django检查的app name, 运行该命令后, 即可生成迁移文件,
最后运行:
python manage.py migrate
以上一般可以解决问题, 如果还是有创建表格不全等问题的话, 可以将migrations文件, 数据库表, 以及__pycache__文件夹全部删除, 再按照上述步骤做一次。
在 MySQL ,表有两种引擎,一种是 InnoDB ,另外一种是 myisam 。如果使用的是 InnoDB 引擎,是支持外键约束的。外键的存在使得 ORM 框架在处理表关系的时候异常的强大。因此这里我们首先来介绍下外键Django 的使用。
类定义为 class ForeignKey(to,on_delete,**options) 。第一个参数是引用的是哪个模型,第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理,比如有 CASCADE 、 SET_NULL 等。这里以一个实际案例来说明。比如有一个 User 和一个 Article 两个模型。一个 User 
				
目录一、如何构建模型外键1. app内的外键构建2. app外键构建二、外键约束 - 删除操作的参数配置三、多表外键绑定,起别名 - related_name1. 别名的实际应用 - 外键值查询 - 反向过滤器的搜索 一、如何构建模型外键 1. app内的外键构建 # app/models.py class App1(models.Model): class App2(models.Model): app2 = models.ForeignKey("App1", on_delet
1.django从2.0开始ForeignKey的on_delete参数是必须的。 on_delete=None, # 删除关联表的数据时,当前表与其关联的field的行为 on_delete=models.CASCADE, # 删除关联数据,与之关联也删除 on_delete=models.DO_NOTHING, # 删除关联数据,什么也不做 on_delete=models.PROTECT, # 删除关联数据,引发错误ProtectedError
django orm关系查询(ManyToManyField,ForeignKey多层查询) Django提供了一种强大而直观的方式来“跟踪”查找关系,在后台自动用SQL JOIN处理。 要关系,只需使用模型的相关字段的字段名称,用双下划线分隔,直到到达所需的字段。 这个例子检索所有Entry对象的 Blog,其name 为:’Beatles Blog’ from django....
在 PersonalCenter app下的 models.py 下定义了一个 Footprint 类: 在 LoginAndRegister app 下的 models.py下的 User 类,我想建立与 Footpint 的多对多关联: 如图所示,在文件头已经 import 了 Footprint 类,但是运行 makemigrati...
这是一个太老声长谈的问题,我认为 1、主键:在一个数据库表格的唯一标识,因此主键有个重要的属性,是不能重复且唯一,且不能为空,比如说,一个班级里有两个学生叫张三,学生名子显然不能作为学生表格的主键,因为我一搜张三,就会有两个张三同时跳出来,那什么可以呢,就是学号,因为学号在班级里是唯一的。其他还有很多例子,比如说,身份证号,工号等等, 2、外键:A表的一个字段,是B表的主键,那他就可以是A表的外键,同上,如果有一个学生成绩表,学号是学生成绩表的一个字段,那学号就是学生 一、djangoapp引用model,以app02model要引用app01model为例:   1、app01 的models.py 文件如下: from django.db import models # Create your models ...
一、使用django自带的user做外键,可以直接在model使用。只需导入settings模块 使用方法: 在app应用(此处是Product应用)models.py文件,导入settings模块 # Product / models.py from django.db import models from django.contrib.auth import settings class Product(models.Model): productName = models.CharField('产品名称', max_length=20) productDescriptio
第一个app下的model from django.contrib.auth.models import AbstractUser from django.db import models # Create your models here. class UserInfo(AbstractUser): telephone=models.CharField(max_length=11,verbose_name='手机号',null=True,help_text='11位电话号码') 2、多表继承 3、proxy model(代理model) 第一种抽象继承,创建一个通用父类,为了使父类不会被创建,在抽象父类的Meta设置abstract=True就可以。子类会继承父类相同的字段. 子类模型Stude...
IPv6转换成简写请使用表情包: [code=python] IP("2403:A200:A200:1100:0000:0000:F00:3",make_net=True).net().strCompressed() [/code] Object of type ‘QuerySet‘ is not JSON serializable 至尊八戒: queryset转list就好了 python报错: name ‘null‘ is not defined m0_62213336: 亲测有效,感谢表情包 在python 中一次执行多条shell 命令: longgggggggggggggggg: 按顺序执行