第一个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位电话号码')
    gender_choice=(
        (0,'女'),
        (1,'男')
    gender=models.IntegerField(choices=gender_choice,verbose_name='性别',null=True,)
    introduction=models.CharField(max_length=100,verbose_name='个人简介',null=True,)
    icon=models.ImageField(verbose_name='头像',upload_to='img/',null=True,)
    class Meta:
        db_table = '用户表'
        verbose_name = '用户'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.username

第二个app下的model

from users.models import UserInfo
#用户专栏分类表
class Category(models.Model):
    name=models.CharField(max_length=10,help_text='最大字符10字符',verbose_name='专栏名',unique=False,null=True)
    user=models.ForeignKey(verbose_name='用户',to='UserInfo',related_name='category',on_delete=models.CASCADE)
    class Meta:
        db_table = '用户专栏表'
        verbose_name = '用户专栏'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.name

执行迁移的时候,报错
在这里插入图片描述
原因:

并没有真正的引用另一个app下的UserInfo模型类,因为如果在模型类的关系字段声明to=模型类名的时候,你加上引号,就表示在本model中的模型类,因此,这个时候我们应该把引号去掉,就可以迁移成功了。

第一个app下的modelfrom django.contrib.auth.models import AbstractUserfrom django.db import models# Create your models here.#用户表class UserInfo(AbstractUser): telephone=models.CharField(max_length=11,verbose_name='手机号',null=True,help_text='11位电话号码') python manage.py makemigrations [appname] 这里的appname是指你需要指定django检查的app name, 运行该命令后, 即可生成迁移文件, 最后运行: python manage.py migrate 以上一般可以解决问题, 如果还是有创建表格不全等问题的话, 可以将migrations文件, 数据库表, 以及__pycache__文件夹全部删除, 再按照上述步骤做一次。
Django Single ModelAdmin DjangoModelAdmin子ModelAdmin用于仅具有一条记录的模型。 这对于诸如站点范围设置之的事情很有用。 使用SingleModelAdmin注册模型: from django . contrib import admin from singlemodeladmin import SingleModelAdmin from my_app . models import MyModel admin . site . register ( MyModel , SingleModelAdmin ) 您还可以继承SingleModelAdmin而不是DjangoModelAdmin ,并预期它会工作: from django . contrib import admin from singlemodel
外加和表关系 外键:外键是属于数据库级别的, 在MySQL,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是InnoDB引擎,是支持外键约束的。外键的存在使得ORM框架在处理表关系的时候异常强大。因此这里我们首先来介绍外键在Django的使用。 定义为 class ForeignKey(to,on_delete,**options)。第一个参数to是应用的哪个模型(也就...
一、djangoapp引用model,以app02model引用app01model为例:   1、app01 的models.py 文件如下: from django.db import models # Create your models ... 已完成基于知识图谱的问答系统的基本功能,想在Django使用该功能,需要在views.py将关键文件导入。已经导入问答系统全部代码到Django项目,但是导入文件的代码仍报错: 参考在urls.py导入views.py的方法: from app01 import views 说明导入文件需要从顶级目录写起: from app01.code.question_answer import Answer_System 此外,还需要在被引用文件所在的目录下新建一个__init__.
Django默认情况下,按字母顺序对模型进行排序。因此,Event应用模型的顺序为Epic、EventHero、EventVillain、Event 假设你希望顺序是 EventHero、EventVillain、Epic、Event。 用于呈现后台indxe页面的模板为admin/index.html,对应的视图函数为 ModelAdmin.index。 def index(self, request, extra_context=None): Display the main admin index page, which lists all of the instal
Django Model的外键自关联 在djangomodel定义,有时需要某个Field引用当前定义的Model,比如一个部门(Department)的Model,它有一个字段是上级部门(super_department),上级部门应该是一个外键并引用Model Department,即: class Department(models.Model): some other filed super_department = models.ForeignKey(Department) 但是这样的定义对于python来说是不允许的,因为在定义Field su
COMSOL—— LiveLink for MATLAB学习1LiveLink for MATLAB的首次启动在MATLAB工作区安装COMSOL Apps在MATLAB构建COMSOL模型模型对象(model object)命令加载与保存模型在COMSOLDesktop®和MATLAB®Prompt之共享模型 最近在学习comsol与matlab的联用,就在此记录下学习过程吧。 主要参考资料...
Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate‘s altnames: Host: cdn.n django模板中使用if语句{%if%}入的坑:Could not parse the remainder: '==True' from '==True' m0_72807919: python中logging模块 北风之神c: 写得赞,博主用心了。 此国产日志 https://github.com/ydf0509/nb_log 使用原生 loggng封装,兼容性和替换性100%。 1、日志能根据级别能够自动变彩色。 2、print自动变彩色。 3、日志和print在pycahrm控制台的输出都自动可以点击跳转到文件和行号。4、多进程日志切割安全,文件日志写入性能高 5、入参简单,能一键自动记录到多种地方. 相比 loguru 有10胜。 pip install nb_log 。