1 ORM字段

AutoField

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

IntegerField

一个整数类型,范围在 -2147483648 to 2147483647。

CharField

字符类型,必须提供max_length参数, max_length表示字符长度。

DateField

日期字段,日期格式  YYYY-MM-DD,相当于Python中的datetime.date()实例。

DateTimeField

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

常用和非常用字段

  AutoField(Field)
- int自增列,必须填入参数 primary_key=True
BigAutoField(AutoField)
</span>- bigint自增列,必须填入参数 primary_key=<span style="color: #000000;">True 注:当model中如果没有自增列,则自动会创建一个列名为id的列
</span><span style="color: #0000ff;">from</span> django.db <span style="color: #0000ff;">import</span><span style="color: #000000;"> models </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> UserInfo(models.Model):
</span><span style="color: #008000;">#</span><span style="color: #008000;"> 自动创建一个列名为id的且为自增的整数列</span>
username = models.CharField(max_length=32<span style="color: #000000;">) </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Group(models.Model):
</span><span style="color: #008000;">#</span><span style="color: #008000;"> 自定义自增列</span>
nid = models.AutoField(primary_key=<span style="color: #000000;">True)
name </span>= models.CharField(max_length=32<span style="color: #000000;">) SmallIntegerField(IntegerField):
</span>- 小整数 -32768 ~ 32767<span style="color: #000000;"> PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField)
</span>- 正小整数 0 ~ 32767<span style="color: #000000;">
IntegerField(Field)
</span>- 整数列(有符号的) -2147483648 ~ 2147483647<span style="color: #000000;"> PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField)
</span>- 正整数 0 ~ 2147483647<span style="color: #000000;"> BigIntegerField(IntegerField):
</span>- 长整型(有符号的) -9223372036854775808 ~ 9223372036854775807<span style="color: #000000;"> BooleanField(Field)
</span>-<span style="color: #000000;"> 布尔值类型 NullBooleanField(Field):
</span>-<span style="color: #000000;"> 可以为空的布尔值 CharField(Field)
</span>-<span style="color: #000000;"> 字符类型
</span>-<span style="color: #000000;"> 必须提供max_length参数, max_length表示字符长度 TextField(Field)
</span>-<span style="color: #000000;"> 文本类型 EmailField(CharField):
</span>-<span style="color: #000000;"> 字符串类型,Django Admin以及ModelForm中提供验证机制 IPAddressField(Field)
</span>-<span style="color: #000000;"> 字符串类型,Django Admin以及ModelForm中提供验证 IPV4 机制 GenericIPAddressField(Field)
</span>-<span style="color: #000000;"> 字符串类型,Django Admin以及ModelForm中提供验证 Ipv4和Ipv6
</span>-<span style="color: #000000;"> 参数:
protocol,用于指定Ipv4或Ipv6, </span><span style="color: #800000;">'</span><span style="color: #800000;">both</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">ipv4</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">ipv6</span><span style="color: #800000;">"</span><span style="color: #000000;">
unpack_ipv4, 如果指定为True,则输入::ffff:</span>192.0.2.1时候,可解析为192.0.2.1,开启此功能,需要protocol=<span style="color: #800000;">"</span><span style="color: #800000;">both</span><span style="color: #800000;">"</span><span style="color: #000000;"> URLField(CharField)
</span>-<span style="color: #000000;"> 字符串类型,Django Admin以及ModelForm中提供验证 URL SlugField(CharField)
</span>-<span style="color: #000000;"> 字符串类型,Django Admin以及ModelForm中提供验证支持 字母、数字、下划线、连接符(减号) CommaSeparatedIntegerField(CharField)
</span>-<span style="color: #000000;"> 字符串类型,格式必须为逗号分割的数字 UUIDField(Field)
</span>-<span style="color: #000000;"> 字符串类型,Django Admin以及ModelForm中提供对UUID格式的验证 FilePathField(Field)
</span>-<span style="color: #000000;"> 字符串,Django Admin以及ModelForm中提供读取文件夹下文件的功能
</span>-<span style="color: #000000;"> 参数:
path, 文件夹路径
match</span>=<span style="color: #000000;">None, 正则匹配
recursive</span>=<span style="color: #000000;">False, 递归下面的文件夹
allow_files</span>=<span style="color: #000000;">True, 允许文件
allow_folders</span>=<span style="color: #000000;">False, 允许文件夹 FileField(Field)
</span>-<span style="color: #000000;"> 字符串,路径保存在数据库,文件上传到指定目录
</span>-<span style="color: #000000;"> 参数:
upload_to </span>= <span style="color: #800000;">""</span><span style="color: #000000;"> 上传文件的保存路径
storage </span>=<span style="color: #000000;"> None 存储组件,默认django.core.files.storage.FileSystemStorage ImageField(FileField)
</span>-<span style="color: #000000;"> 字符串,路径保存在数据库,文件上传到指定目录
</span>-<span style="color: #000000;"> 参数:
upload_to </span>= <span style="color: #800000;">""</span><span style="color: #000000;"> 上传文件的保存路径
storage </span>=<span style="color: #000000;"> None 存储组件,默认django.core.files.storage.FileSystemStorage
width_field</span>=<span style="color: #000000;">None, 上传图片的高度保存的数据库字段名(字符串)
height_field</span>=<span style="color: #000000;">None 上传图片的宽度保存的数据库字段名(字符串) DateTimeField(DateField)
</span>- 日期+时间格式 YYYY-MM-<span style="color: #000000;">DD HH:MM[:ss[.uuuuuu]][TZ] DateField(DateTimeCheckMixin, Field)
</span>- 日期格式 YYYY-MM-<span style="color: #000000;">DD TimeField(DateTimeCheckMixin, Field)
</span>-<span style="color: #000000;"> 时间格式 HH:MM[:ss[.uuuuuu]] DurationField(Field)
</span>-<span style="color: #000000;"> 长整数,时间间隔,数据库中按照bigint存储,ORM中获取的值为datetime.timedelta类型 FloatField(Field)
</span>-<span style="color: #000000;"> 浮点型 DecimalField(Field)
</span>-<span style="color: #000000;"> 10进制小数
</span>-<span style="color: #000000;"> 参数:
max_digits,小数总长度
decimal_places,小数位长度 BinaryField(Field)
</span>- 二进制类型</pre>

常用和非常用字段合集

对应关系:
'AutoField': 'integer AUTO_INCREMENT',
'BigAutoField': 'bigint AUTO_INCREMENT',
'BinaryField': 'longblob',
'BooleanField': 'bool',
'CharField': 'varchar(%(max_length)s)',
'CommaSeparatedIntegerField': 'varchar(%(max_length)s)',
'DateField': 'date',
'DateTimeField': 'datetime',
'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)',
'DurationField': 'bigint',
'FileField': 'varchar(%(max_length)s)',
'FilePathField': 'varchar(%(max_length)s)',
'FloatField': 'double precision',
'IntegerField': 'integer',
'BigIntegerField': 'bigint',
'IPAddressField': 'char(15)',
'GenericIPAddressField': 'char(39)',
'NullBooleanField': 'bool',
'OneToOneField': 'integer',
'PositiveIntegerField': 'integer UNSIGNED',
'PositiveSmallIntegerField': 'smallint UNSIGNED',
'SlugField': 'varchar(%(max_length)s)',
'SmallIntegerField': 'smallint',
'TextField': 'longtext',
'TimeField': 'time',
'UUIDField': 'char(32)',

ORM字段与数据库实际字段的对应关系

2 ORM字段参数

null

用于表示某个字段可以为空。

unique

如果设置为unique=True 则该字段在此表中必须是唯一的 。

db_index

如果db_index=True 则代表着为此字段设置索引。

default

为该字段设置默认值。

DateField和DateTimeField

auto_now_add

配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。

auto_now

配置上auto_now=True,每次更新数据记录的时候会更新该字段。

null                数据库中字段是否可以为空
db_column 数据库中字段的列名
db_tablespace
default 数据库中字段的默认值
primary_key 数据库中字段是否为主键
db_index 数据库中字段是否可以建立索引
unique 数据库中字段是否可以建立唯一索引
unique_for_date 数据库中字段【日期】部分是否可以建立唯一索引
unique_for_month 数据库中字段【月】部分是否可以建立唯一索引
unique_for_year 数据库中字段【年】部分是否可以建立唯一索引
verbose_name        Admin中显示的字段名称
blank Admin中是否允许用户输入为空
editable Admin中是否可以编辑
help_text Admin中该字段的提示信息
choices Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作
如:gf </span>= models.IntegerField(choices=[(0, <span style="color: #800000;">'</span><span style="color: #800000;">何穗</span><span style="color: #800000;">'</span>),(1, <span style="color: #800000;">'</span><span style="color: #800000;">大表姐</span><span style="color: #800000;">'</span>),],default=1<span style="color: #000000;">) error_messages 自定义错误信息(字典类型),从而定制想要显示的错误信息;
字典健:null, blank, invalid, invalid_choice, unique, </span><span style="color: #0000ff;">and</span><span style="color: #000000;"> unique_for_date
如:{</span><span style="color: #800000;">'</span><span style="color: #800000;">null</span><span style="color: #800000;">'</span>: <span style="color: #800000;">"</span><span style="color: #800000;">不能为空.</span><span style="color: #800000;">"</span>, <span style="color: #800000;">'</span><span style="color: #800000;">invalid</span><span style="color: #800000;">'</span>: <span style="color: #800000;">'</span><span style="color: #800000;">格式错误</span><span style="color: #800000;">'</span><span style="color: #000000;">} validators 自定义错误验证(列表类型),从而定制想要的验证规则
</span><span style="color: #0000ff;">from</span> django.core.validators <span style="color: #0000ff;">import</span><span style="color: #000000;"> RegexValidator
</span><span style="color: #0000ff;">from</span> django.core.validators <span style="color: #0000ff;">import</span><span style="color: #000000;"> EmailValidator,URLValidator,DecimalValidator,\
MaxLengthValidator,MinLengthValidator,MaxValueValidator,MinValueValidator
如:
test </span>=<span style="color: #000000;"> models.CharField(
max_length</span>=32<span style="color: #000000;">,
error_messages</span>=<span style="color: #000000;">{
</span><span style="color: #800000;">'</span><span style="color: #800000;">c1</span><span style="color: #800000;">'</span>: <span style="color: #800000;">'</span><span style="color: #800000;">优先错信息1</span><span style="color: #800000;">'</span><span style="color: #000000;">,
</span><span style="color: #800000;">'</span><span style="color: #800000;">c2</span><span style="color: #800000;">'</span>: <span style="color: #800000;">'</span><span style="color: #800000;">优先错信息2</span><span style="color: #800000;">'</span><span style="color: #000000;">,
</span><span style="color: #800000;">'</span><span style="color: #800000;">c3</span><span style="color: #800000;">'</span>: <span style="color: #800000;">'</span><span style="color: #800000;">优先错信息3</span><span style="color: #800000;">'</span><span style="color: #000000;">,
},
validators</span>=<span style="color: #000000;">[
RegexValidator(regex</span>=<span style="color: #800000;">'</span><span style="color: #800000;">root_\d+</span><span style="color: #800000;">'</span>, message=<span style="color: #800000;">'</span><span style="color: #800000;">错误了</span><span style="color: #800000;">'</span>, code=<span style="color: #800000;">'</span><span style="color: #800000;">c1</span><span style="color: #800000;">'</span><span style="color: #000000;">),
RegexValidator(regex</span>=<span style="color: #800000;">'</span><span style="color: #800000;">root_112233\d+</span><span style="color: #800000;">'</span>, message=<span style="color: #800000;">'</span><span style="color: #800000;">又错误了</span><span style="color: #800000;">'</span>, code=<span style="color: #800000;">'</span><span style="color: #800000;">c2</span><span style="color: #800000;">'</span><span style="color: #000000;">),
EmailValidator(message</span>=<span style="color: #800000;">'</span><span style="color: #800000;">又错误了</span><span style="color: #800000;">'</span>, code=<span style="color: #800000;">'</span><span style="color: #800000;">c3</span><span style="color: #800000;">'</span><span style="color: #000000;">), ]
)</span></pre>

了解一下

3 关系字段

ForeignKey

外键类型在ORM中用来表示外键关联关系,一般把ForeignKey字段设置在 '一对多'中'多'的一方。

ForeignKey可以和其他表做关联关系同时也可以和自身做关联关系。

to

设置要关联的表

to_field

设置要关联的表的字段

related_name

反向操作时,使用的字段名,用于代替原反向查询时的'表名_set'。

例如:

class Classes(models.Model):
name = models.CharField(max_length=32) class Student(models.Model):

name = models.CharField(max_length=32)

theclass = models.ForeignKey(to="Classes")

当我们要查询某个班级关联的所有学生(反向查询)时,我们会这么写:

models.Classes.objects.first().student_set.all()

当我们在ForeignKey字段中添加了参数 related_name 后,

class Student(models.Model):
name = models.CharField(max_length=32)
theclass = models.ForeignKey(to="Classes", related_name="students")

当我们要查询某个班级关联的所有学生(反向查询)时,我们会这么写:

models.Classes.objects.first().students.all()

related_query_name

反向查询操作时,使用的连接前缀,用于替换表名。

on_delete

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

  models.CASCADE
  删除关联数据,与之关联也删除

  models.DO_NOTHING
  删除关联数据,引发错误IntegrityError

  models.PROTECT
  删除关联数据,引发错误ProtectedError

  models.SET_NULL
  删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空)

  models.SET_DEFAULT
  删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值)

  models.SET

  删除关联数据,
  a. 与之关联的值设置为指定值,设置:models.SET(值)
  b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)

def func():
return 10 class MyModel(models.Model):

user = models.ForeignKey(

to="User",

to_field="id",

on_delete=models.SET(func)

)

db_constraint

是否在数据库中创建外键约束,默认为True。

OneToOneField

一对一字段。

通常一对一字段用来扩展已有字段。

一对一的关联关系多用在当一张表的不同字段查询频次差距过大的情况下,将本可以存储在一张表的字段拆开放置在两张表中,然后将两张表建立一对一的关联关系。

class Author(models.Model):
name = models.CharField(max_length=32)
info = models.OneToOneField(to='AuthorInfo') class AuthorInfo(models.Model):

phone = models.CharField(max_length=11)

email = models.EmailField()

to

设置要关联的表。

to_field

设置要关联的字段。

on_delete

同ForeignKey字段。

ManyToManyField

用于表示多对多的关联关系。在数据库中通过第三张表来建立关联关系

to

设置要关联的表

related_name

同ForeignKey字段。

related_query_name

同ForeignKey字段。

symmetrical

仅用于多对多自关联时,指定内部是否创建反向操作的字段。默认为True。

举个例子:

class Person(models.Model):
name = models.CharField(max_length=16)
friends = models.ManyToManyField("self")

此时,person对象就没有person_set属性。

class Person(models.Model):
name = models.CharField(max_length=16)
friends = models.ManyToManyField("self", symmetrical=False)

此时,person对象现在就可以使用person_set属性进行反向查询。

through

在使用ManyToManyField字段时,Django将自动生成一张表来管理多对多的关联关系。

但我们也可以手动创建第三张表来管理多对多关系,此时就需要通过through来指定第三张表的表名。

through_fields

设置关联的字段。

db_table

默认创建第三张表时,数据库中表的名称。

4 多对多关联关系的三种方式

方式一:自行创建第三张表

class Book(models.Model):
title = models.CharField(max_length=32, verbose_name="书名") class Author(models.Model):

name = models.CharField(max_length=32, verbose_name="作者姓名")

自己创建第三张表,分别通过外键关联书和作者

class Author2Book(models.Model):

author = models.ForeignKey(to="Author")

book = models.ForeignKey(to="Book")
class Meta:
unique_together = ("author", "book")</pre>

方式二:通过ManyToManyField自动创建第三张表

class Book(models.Model):
title = models.CharField(max_length=32, verbose_name="书名")

通过ORM自带的ManyToManyField自动创建第三张表

class Author(models.Model):

name = models.CharField(max_length=32, verbose_name="作者姓名")

books = models.ManyToManyField(to="Book", related_name="authors")

方式三:设置ManyTomanyField并指定自行创建的第三张表

class Book(models.Model):
title = models.CharField(max_length=32, verbose_name="书名")

自己创建第三张表,并通过ManyToManyField指定关联

class Author(models.Model):

name = models.CharField(max_length=32, verbose_name="作者姓名")

books = models.ManyToManyField(to="Book", through="Author2Book", through_fields=("author", "book"))

# through_fields接受一个2元组('field1','field2'):

# 其中field1是定义ManyToManyField的模型外键的名(author),field2是关联目标模型(book)的外键名。 class Author2Book(models.Model):

author = models.ForeignKey(to="Author")

book = models.ForeignKey(to="Book")
class Meta:
unique_together = ("author", "book")</pre>

注意:

当我们需要在第三张关系表中存储额外的字段时,就要使用第三种方式。

但是当我们使用第三种方式创建多对多关联关系时,就无法使用set、add、remove、clear方法来管理多对多的关系了,需要通过第三张表的model来管理多对多关系。

5 元信息

ORM对应的类里面包含另一个Meta类,而Meta类封装了一些数据库的信息。主要字段如下:

db_table

ORM在数据库中的表名默认是 app_类名,可以通过db_table可以重写表名。

index_together

联合索引。

unique_together

联合唯一索引。

ordering

指定默认按什么字段排序。

只有设置了该属性,我们查询到的结果才可以被reverse()。

    class UserInfo(models.Model):
nid = models.AutoField(primary_key=True)
username = models.CharField(max_length=32)
    </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Meta:
</span><span style="color: #008000;">#</span><span style="color: #008000;"> 数据库中生成的表名称 默认 app名称 + 下划线 + 类名</span>
db_table = <span style="color: #800000;">"</span><span style="color: #800000;">table_name</span><span style="color: #800000;">"</span> <span style="color: #008000;">#</span><span style="color: #008000;"> 联合索引</span>
index_together =<span style="color: #000000;"> [
(</span><span style="color: #800000;">"</span><span style="color: #800000;">pub_date</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">deadline</span><span style="color: #800000;">"</span><span style="color: #000000;">),
] </span><span style="color: #008000;">#</span><span style="color: #008000;"> 联合唯一索引</span>
unique_together = ((<span style="color: #800000;">"</span><span style="color: #800000;">driver</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">restaurant</span><span style="color: #800000;">"</span><span style="color: #000000;">),) ordering </span>= (<span style="color: #800000;">'</span><span style="color: #800000;">name</span><span style="color: #800000;">'</span><span style="color: #000000;">,) </span><span style="color: #008000;">#</span><span style="color: #008000;"> admin中显示的表名称</span>
verbose_name=<span style="color: #800000;">'</span><span style="color: #800000;">哈哈</span><span style="color: #800000;">'</span> <span style="color: #008000;">#</span><span style="color: #008000;"> verbose_name加s</span>
verbose_name_plural=verbose_name</pre>

了解

6 自定义字段(了解)

自定义char类型字段:

class FixedCharField(models.Field):
"""
自定义的char类型的字段类
"""
def __init__(self, max_length, *args, **kwargs):
self.max_length = max_length
super(FixedCharField, self).__init__(max_length=max_length, *args, **kwargs)
def db_type(self, connection):
"""
限定生成数据库表的字段类型为char,长度为max_length指定的值
"""
return 'char(%s)' % self.max_length

class Class(models.Model):

id = models.AutoField(primary_key=True)

title = models.CharField(max_length=25)

# 使用自定义的char类型的字段

cname = FixedCharField(max_length=25)

Django常用自段和参数的更多相关文章

  1. PyTorch常用代码段整理合集

    PyTorch常用代码段整理合集 转自:知乎 作者:张皓 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段.然而,这项工作常常令人心累身疲,耗费大量时间.所以,今天小编转载了知乎 ...

  2. django 常用命令

    django 常用命令,备忘: django-admin.py startproject test 创建一个项目名叫test的项目 python manage.py startapp app 创建一个 ...

  3. mysqldump的常用语句及各参数详解

    mysqldump的常用语句及各参数详解 分类: MySQL 2011-01-11 17:55 1368人阅读 评论(0) 收藏 举报 数据库mysql服务器tableinsertdatabase m ...

  4. Django学习之六:Django 常用模块导入记忆

    Django 常用模块导入记忆 django相关 1. urls相关操作 from django.urls import path, re_path, include from django.urls ...

  5. 【技术博客】MySQL和Django常用操作

    MySQL和Django是搭建网站常用的配置之一,在此记录一下在Windows系统搭建网站时MySQL以及Django常用的操作. MySQL MySQL的SQL语句不区分大小写,推荐将保留字大写,数 ...

  6. 30款Django 常用的软件包

    30款Django 常用的软件包 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了30款Django开发中常用的软件包,学会使用它们可以节省大量开发时 ...

  7. Django常用的第三方包

    Django常用的第三方包 API开发 djangorestframework django-rest-multiple-models django-cors-headers 查询 django-fi ...

  8. Django常用 命令

    Django常用 命令: 安装: pip install django 指定版本 pip3 install django==2.0 新建项目: django-admin.py startproject ...

  9. Django --ORM常用的字段和参数 多对多创建形式

    1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...

随机推荐

  1. 《转载》仅需3分钟,你就能明白Kafka的工作原理

    仅需3分钟,你就能明白Kafka的工作原理 周末无聊刷着手机,某宝网 App 突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”. 买一送一还有这种好事,那我可不能错过!忍不住立马点 ...

  2. 浏览器console中加入jquery方便调试

    var jquery = document.createElement('script'); jquery.src = "http://apps.bdimg.com/libs/jquery/ ...

  3. c# 多线程解决死锁问题

    可使用:Monitor.TryEnter()方法.虽然这种方法可以解决死锁问题,但是最好还是不要出现死锁这种情况.如果出现死锁这种情况,就说明代码有问题啊.还是在else里面加个日志记录下吧,然后再解 ...

  4. 2019 年 Java 最新面试指南共 80 题,赶快收藏起来吧!

    2019 年 Java 最新面试指南共 80 题,赶快收藏起来吧! http://blog.zh66.club/index.php/archives/116/

  5. sqlite删除数据

    sqlite删除数据 某日, 在使用sqlite的时候发现查询速度极慢, 查看了一下文件大小, sqlite数据库文件已经达到了 22G! 对于一个文件数据库来说, 已经相当致命了,先不说后面如果解决 ...

  6. 【记录】【idea】【mysql】Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.解决问题

    idea连接mysql报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property ...

  7. Flink之state processor api原理

    无论您是在生产环境中运行Apache Flink or还是在过去将Flink评估为计算框架,您都可能会问自己一个问题:如何在Flink保存点中访问,写入或更新状态?不再询问!Apache Flink ...

  8. gogs私有代码库上传项目

    https://blog.csdn.net/zhouxueli32/article/details/80538017 一.上传 在cmd命令里进入该项目 然后依次输入以下命令 git initgit ...

  9. 新安装NODEJS之后配置

    1配置阿里镜像服务器 npm config set registry https://registry.npm.taobao.org --global npm config set disturl h ...

  10. 优先队列 + 模拟 - HDU 5437 Alisha’s Party

    Alisha’s Party Problem's Link Mean: Alisha过生日,有k个朋友来参加聚会,由于空间有限,Alisha每次开门只能让p个人进来,而且带的礼物价值越高就越先进入. ...