当前位置: 首页 > news >正文

做社交网站 投入怎么让百度收录我的网站

做社交网站 投入,怎么让百度收录我的网站,谷歌可以绑定wordpress,青岛网站设计公司价格一、说明 上一篇文章建立一个最简单的项目,现在我们建立一个公共模型,抽取公共字段,以便于后续模块继承,过程之中会对orm常用字段进行说明,用到的介绍一下 二、创建一个db.py 目录如下图 1、代码 from importlib im…

一、说明

上一篇文章建立一个最简单的项目,现在我们建立一个公共模型,抽取公共字段,以便于后续模块继承,过程之中会对orm常用字段进行说明,用到的介绍一下

二、创建一个db.py

目录如下图

1、代码 

from importlib import import_modulefrom django.apps import apps
from django.db import models
from smartwater import settings
from django.conf import settingstable_prefix = settings.TABLE_PREFIXclass BaseModel(models.Model):"""抽象公共模型,可以直接继承使用增加审计字段, 覆盖字段时, 字段名称请勿修改, 必须统一审计字段名称"""id = models.BigAutoField(primary_key=True, help_text="Id", verbose_name="Id")description = models.CharField(max_length=255, verbose_name="描述", null=True, blank=True, help_text="描述")creator = models.ForeignKey(to=settings.AUTH_USER_MODEL, related_query_name='creator_query', null=True,verbose_name='创建人', help_text="创建人", on_delete=models.SET_NULL,db_constraint=False)modifier = models.CharField(max_length=255, null=True, blank=True, help_text="修改人", verbose_name="修改人")dept_belong_id = models.CharField(max_length=255, help_text="数据归属部门", null=True, blank=True,verbose_name="数据归属部门")update_datetime = models.DateTimeField(auto_now=True, null=True, blank=True, help_text="修改时间",verbose_name="修改时间")create_datetime = models.DateTimeField(auto_now_add=True, null=True, blank=True, help_text="创建时间",verbose_name="创建时间")class Meta:abstract = Trueverbose_name = '核心模型'verbose_name_plural = verbose_namedef get_all_models_objects(model_name=None):"""获取所有 models 对象:return: {}"""settings.ALL_MODELS_OBJECTS = {}if not settings.ALL_MODELS_OBJECTS:all_models = apps.get_models()for item in list(all_models):table = {"tableName": item._meta.verbose_name,"table": item.__name__,"tableFields": []}for field in item._meta.fields:fields = {"title": field.verbose_name,"field": field.name}table['tableFields'].append(fields)settings.ALL_MODELS_OBJECTS.setdefault(item.__name__, {"table": table, "object": item})if model_name:return settings.ALL_MODELS_OBJECTS[model_name] or {}return settings.ALL_MODELS_OBJECTS or {}def get_model_from_app(app_name):"""获取模型里的字段"""model_module = import_module(app_name + '.models')filter_model = [getattr(model_module, item) for item in dir(model_module)if item != 'CoreModel' and issubclass(getattr(model_module, item).__class__, models.base.ModelBase)]model_list = []for model in filter_model:if model.__name__ == 'AbstractUser':continuefields = [{'title': field.verbose_name, 'name': field.name, 'object': field}for field in model._meta.fields]model_list.append({'app': app_name,'verbose': model._meta.verbose_name,'model': model.__name__,'object': model,'fields': fields})return model_listdef get_custom_app_models(app_name=None):"""获取所有项目下的app里的models"""if app_name:return get_model_from_app(app_name)all_apps = apps.get_app_configs()res = []for app in all_apps:if app.name.startswith('django'):continueif app.name in settings.COLUMN_EXCLUDE_APPS:continuetry:all_models = get_model_from_app(app.name)if all_models:for model in all_models:res.append(model)except Exception as e:passreturn res

2、字段说明

【1】AutoField

  • int自增列
    • 必须填入参数 primary_key=True。
  • 当model中如果没有自增列,则自动会创建一个列名为id的列。

【2】CharField

字符类型,必须提供max_length参数, max_length表示字符长度。
这里需要知道的是Django中的CharField对应的MySQL数据库中的varchar类型,没有设置对应char类型的字段,但是Django允许我们自定义新的字段,下面我来自定义对应于数据库的char类型

 【3】DateTimeField

  • 日期时间字段
    • 格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]
  • 相当于Python中的datetime.datetime()实例。

【4】BigAutoField(AutoField)

  • bigint自增列
    • 必须填入参数 primary_key=True

【5】关系字段 ForeignKey 

  • 外键类型在ORM中用来表示外键关联关系
    • 一般把ForeignKey字段设置在 '一对多'中'多'的一方。
  • ForeignKey可以和其他表做关联关系同时也可以和自身做关联关系

to: 设置要关联的表

to_field: 设置要关联的表的字段

on_delete:当删除关联表中的数据时,当前表与其关联的行的行为

models.CASCADE
级联操作
当主表中被连接的一条数据删除时,从表中所有与之关联的数据同时被删除
2、models.SET_NULL
当主表中的一行数据删除时,从表中所有与之关联的数据的相关字段设置为null
此时注意定义外键时,这个字段必须可以允许为空
3、models.PROTECT
当主表中的一行数据删除时,由于从表中相关字段是受保护的外键,所以都不允许删除
4、models.SET_DEFAULT
当主表中的一行数据删除时,从表中所有相关的数据的关联字段设置为默认值
此时注意定义外键时,这个外键字段应该有一个默认值
5、models.SET()
当主表中的一条数据删除时,从表中所有的关联数据字段设置为SET()中设置的值
与models.SET_DEFAULT相似,只不过此时从表中的相关字段不需要设置default参数
6、models.DO_NOTHING
什么都不做,一切都看数据库级别的约束,注数据库级别的默认约束为RESTRICT,这个约束与django中的

http://www.hkea.cn/news/660682/

相关文章:

  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱
  • 网站被篡改处理app拉新平台
  • 在线房屋设计网站seo推广平台服务
  • 电子政务门户网站建设代码短链接生成网址
  • 崔各庄地区网站建设百度非企渠道开户
  • 怎么用自己的电脑做网站服务器产品推广平台排行榜
  • 中国做的比较好的电商网站有哪些哈市今日头条最新
  • 微信怎么做网站推广百度网站优化培训
  • 网站开发支持多个币种电子技术培训机构
  • 移动网站设计与制作怎么找关键词
  • 国内移动端网站做的最好的厦门人才网597人才网
  • 建网站收费吗aso关键词覆盖优化
  • 西安的网站设计与制作首页微信视频号怎么推广引流
  • 顺义公司建站多少钱pc端百度
  • wordpress收费资源下载关键词优化的策略
  • 广州做网站建设的公司网站公司
  • 做网络平台的网站有哪些广州网站维护
  • 网页 代码怎么做网站东莞市民最新疫情
  • 电子商务网站设计中影响客户体验的元素有搜索引擎有哪些种类
  • 网站建设难点优化关键词技巧
  • 免费行情网站链接百度知道合伙人官网
  • 餐饮公司网站建设的特点大数据智能营销
  • 济南快速排名刷关键词排名seo软件
  • 系统做网站的地方百度推广登录后台登录入口
  • 集约化网站建设情况广告公司网站制作