鱼C论坛

 找回密码
 立即注册
查看: 1180|回复: 3

[已解决]django创建数据库有哪些参数

[复制链接]
发表于 2023-4-19 17:31:57 | 显示全部楼层 |阅读模式
5鱼币
麻烦哪位大佬提供一些 创建数据库 可以设置那些参数 都是做什么的
感谢
最佳答案
2023-4-19 17:31:58
tengke 发表于 2023-4-19 17:48
不是我要的不是这个   是models这个文件
class Userinfo(models.Model):
    name=models.CharField(ve ...

抱歉刚刚理解错了您的问题。在 Django 的 models 中,您可以使用各种字段类型来定义模型类。以下是一些常见的字段类型及其参数:

1、CharField:

  • max_length:字段允许的最大字符数。这是一个必填参数。
  • verbose_name:用于显示的字段名称,通常用于表单和管理员界面。
  • default:字段的默认值。
  • null:是否允许数据库中的字段值为 NULL,默认为 False。
  • blank:是否允许字段为空,默认为 False。如果设置为 True,则在表单验证时允许空值。
  • choices:可选的一个包含二元元组的序列,用于限制该字段可以接受的值。
  • help_text:一个简短的描述,通常用于表单中的帮助文本。



2、TextField:

  • 与 CharField 类似,但不需要指定 max_length,用于存储大量文本。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



3、IntegerField:

  • 用于存储整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



4、FloatField:

  • 用于存储浮点数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



5、DecimalField:

  • 用于存储高精度的十进制数。
  • max_digits:数字中允许的最大位数。
  • decimal_places:小数点后允许的位数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



6、DateField:

  • 用于存储日期。
  • auto_now:每次保存对象时,是否自动将字段设置为当前日期,默认为 False。
  • auto_now_add:在创建对象时,是否自动将字段设置为当前日期,默认为 False。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



7、DateTimeField:

  • 用于存储日期和时间。
  • auto_now 和 auto_now_add 参数与 DateField 类似。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



8、BooleanField:

  • 用于存储布尔值(True 或 False)。
  • verbose_name, default, choices 和 help_text 参数与 CharField 类似。



9、ForeignKey:

  • 用于创建与另一个模型的一对多关系。
  • on_delete:当关联的对象被删除时,应如何处理。例如:CASCADE, PROTECT, SET_NULL, SET_DEFAULT。
  • related_name:从关联对象的角度命名反向关系。
  • verbose_name, null, blank, choices 和 help_text 参数与 CharField 类似。



10、OneToOneField:

  • 用于创建与另一个模型的一对一关系。
  • on_delete 和 related_name 参数与 ForeignKey 类似。
  • verbose_name, null, blank, choices 和 help_text 参数与 CharField 类似。


11、ManyToManyField:

  • 用于创建与另一个模型的多对多关系。
  • related_name:从关联对象的角度命名反向关系。
  • through:可选的中间表,用于自定义多对多关系表的额外字段或行为。
  • verbose_name, null, blank, choices 和 help_text 参数与 CharField 类似。



12、FileField:

  • 用于上传和存储文件。
  • upload_to:上传文件的子目录,可以是字符串或函数。
  • max_length:文件名允许的最大字符数。
  • verbose_name, default, null, blank 和 help_text 参数与 CharField 类似。



13、ImageField:

  • 用于上传和存储图片。继承自 FileField,具有与 FileField 相同的参数。
  • 需要安装 Pillow 库才能使用。



14、SlugField:

  • 用于存储简短的标签或 URL 段。通常包含字母、数字、连字符或下划线。
  • max_length:字段允许的最大字符数。这是一个必填参数。
  • allow_unicode:是否允许 Unicode 字符,默认为 False。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



15、TimeField:

  • 用于存储时间。
  • auto_now:每次保存对象时,是否自动将字段设置为当前时间,默认为 False。
  • auto_now_add:在创建对象时,是否自动将字段设置为当前时间,默认为 False。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



16、URLField:

  • 用于存储 URL。继承自 CharField,具有与 CharField 相同的参数。
  • max_length:字段允许的最大字符数。这是一个必填参数。



17、EmailField:

  • 用于存储电子邮件地址。继承自 CharField,具有与 CharField 相同的参数。
  • max_length:字段允许的最大字符数。这是一个必填参数。



18、IPAddressField(已弃用):

  • 用于存储 IPv4 地址。在较新版本的 Django 中,建议使用 GenericIPAddressField 代替。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



19、GenericIPAddressField:

  • 用于存储 IPv4 或 IPv6 地址。
  • protocol:指定接受的协议类型,可以是 'both'(默认)、'IPv4' 或 'IPv6'。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



20、PositiveIntegerField:

  • 用于存储正整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



21、PositiveSmallIntegerField:

  • 用于存储较小范围的正整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与CharField 类似。



22、SmallIntegerField:

  • 用于存储较小范围的整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



23、BigIntegerField:

  • 用于存储较大范围的整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



24、BinaryField:

  • 用于存储二进制数据。
  • max_length:字段允许的最大字节数。这是一个必填参数。
  • verbose_name, default, null, blank 和 help_text 参数与 CharField 类似。



25、DurationField:

  • 用于存储时间段(以 timedelta 对象表示)。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



26、UUIDField:

  • 用于存储通用唯一标识符(UUID)。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



27、AutoField:

  • 用于存储自动增长的整数。通常用作模型的主键。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



28、BigAutoField:

  • 用于存储自动增长的大整数。通常用作模型的主键,适用于大型数据集。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



29、JSONField:

  • 用于存储 JSON 数据。需要使用支持 JSON 数据类型的数据库(例如 PostgreSQL)。
  • encoder:用于编码 JSON 数据的自定义编码器。
  • verbose_name, default, null, blank 和 help_text 参数与 CharField 类似。



30、NullBooleanField(已弃用):

  • 用于存储可空的布尔值(True、False 或 None)。在较新版本的 Django 中,建议使用 BooleanField 并将 null 参数设置为 True 代替。
  • verbose_name, default, choices 和 help_text 参数与 CharField 类似。



以上是 Django 模型字段类型及其参数的概述。您可以根据实际需求选择合适的字段类型,并根据需要设置相应的参数。

更多详细信息和其他字段类型,请参考 Django 官方文档:
https://docs.djangoproject.com/en/3.2/ref/models/fields/

最佳答案

查看完整内容

抱歉刚刚理解错了您的问题。在 Django 的 models 中,您可以使用各种字段类型来定义模型类。以下是一些常见的字段类型及其参数: 1、CharField: [*]max_length:字段允许的最大字符数。这是一个必填参数。 [*]verbose_name:用于显示的字段名称,通常用于表单和管理员界面。 [*]default:字段的默认值。 [*]null:是否允许数据库中的字段值为 NULL,默认为 False。 [*]blank:是否允许字段为空,默认为 False。如果 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-19 17:31:58 | 显示全部楼层    本楼为最佳答案   
tengke 发表于 2023-4-19 17:48
不是我要的不是这个   是models这个文件
class Userinfo(models.Model):
    name=models.CharField(ve ...

抱歉刚刚理解错了您的问题。在 Django 的 models 中,您可以使用各种字段类型来定义模型类。以下是一些常见的字段类型及其参数:

1、CharField:

  • max_length:字段允许的最大字符数。这是一个必填参数。
  • verbose_name:用于显示的字段名称,通常用于表单和管理员界面。
  • default:字段的默认值。
  • null:是否允许数据库中的字段值为 NULL,默认为 False。
  • blank:是否允许字段为空,默认为 False。如果设置为 True,则在表单验证时允许空值。
  • choices:可选的一个包含二元元组的序列,用于限制该字段可以接受的值。
  • help_text:一个简短的描述,通常用于表单中的帮助文本。



2、TextField:

  • 与 CharField 类似,但不需要指定 max_length,用于存储大量文本。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



3、IntegerField:

  • 用于存储整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



4、FloatField:

  • 用于存储浮点数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



5、DecimalField:

  • 用于存储高精度的十进制数。
  • max_digits:数字中允许的最大位数。
  • decimal_places:小数点后允许的位数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



6、DateField:

  • 用于存储日期。
  • auto_now:每次保存对象时,是否自动将字段设置为当前日期,默认为 False。
  • auto_now_add:在创建对象时,是否自动将字段设置为当前日期,默认为 False。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



7、DateTimeField:

  • 用于存储日期和时间。
  • auto_now 和 auto_now_add 参数与 DateField 类似。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



8、BooleanField:

  • 用于存储布尔值(True 或 False)。
  • verbose_name, default, choices 和 help_text 参数与 CharField 类似。



9、ForeignKey:

  • 用于创建与另一个模型的一对多关系。
  • on_delete:当关联的对象被删除时,应如何处理。例如:CASCADE, PROTECT, SET_NULL, SET_DEFAULT。
  • related_name:从关联对象的角度命名反向关系。
  • verbose_name, null, blank, choices 和 help_text 参数与 CharField 类似。



10、OneToOneField:

  • 用于创建与另一个模型的一对一关系。
  • on_delete 和 related_name 参数与 ForeignKey 类似。
  • verbose_name, null, blank, choices 和 help_text 参数与 CharField 类似。


11、ManyToManyField:

  • 用于创建与另一个模型的多对多关系。
  • related_name:从关联对象的角度命名反向关系。
  • through:可选的中间表,用于自定义多对多关系表的额外字段或行为。
  • verbose_name, null, blank, choices 和 help_text 参数与 CharField 类似。



12、FileField:

  • 用于上传和存储文件。
  • upload_to:上传文件的子目录,可以是字符串或函数。
  • max_length:文件名允许的最大字符数。
  • verbose_name, default, null, blank 和 help_text 参数与 CharField 类似。



13、ImageField:

  • 用于上传和存储图片。继承自 FileField,具有与 FileField 相同的参数。
  • 需要安装 Pillow 库才能使用。



14、SlugField:

  • 用于存储简短的标签或 URL 段。通常包含字母、数字、连字符或下划线。
  • max_length:字段允许的最大字符数。这是一个必填参数。
  • allow_unicode:是否允许 Unicode 字符,默认为 False。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



15、TimeField:

  • 用于存储时间。
  • auto_now:每次保存对象时,是否自动将字段设置为当前时间,默认为 False。
  • auto_now_add:在创建对象时,是否自动将字段设置为当前时间,默认为 False。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



16、URLField:

  • 用于存储 URL。继承自 CharField,具有与 CharField 相同的参数。
  • max_length:字段允许的最大字符数。这是一个必填参数。



17、EmailField:

  • 用于存储电子邮件地址。继承自 CharField,具有与 CharField 相同的参数。
  • max_length:字段允许的最大字符数。这是一个必填参数。



18、IPAddressField(已弃用):

  • 用于存储 IPv4 地址。在较新版本的 Django 中,建议使用 GenericIPAddressField 代替。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



19、GenericIPAddressField:

  • 用于存储 IPv4 或 IPv6 地址。
  • protocol:指定接受的协议类型,可以是 'both'(默认)、'IPv4' 或 'IPv6'。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



20、PositiveIntegerField:

  • 用于存储正整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



21、PositiveSmallIntegerField:

  • 用于存储较小范围的正整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与CharField 类似。



22、SmallIntegerField:

  • 用于存储较小范围的整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



23、BigIntegerField:

  • 用于存储较大范围的整数。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



24、BinaryField:

  • 用于存储二进制数据。
  • max_length:字段允许的最大字节数。这是一个必填参数。
  • verbose_name, default, null, blank 和 help_text 参数与 CharField 类似。



25、DurationField:

  • 用于存储时间段(以 timedelta 对象表示)。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



26、UUIDField:

  • 用于存储通用唯一标识符(UUID)。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



27、AutoField:

  • 用于存储自动增长的整数。通常用作模型的主键。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



28、BigAutoField:

  • 用于存储自动增长的大整数。通常用作模型的主键,适用于大型数据集。
  • verbose_name, default, null, blank, choices 和 help_text 参数与 CharField 类似。



29、JSONField:

  • 用于存储 JSON 数据。需要使用支持 JSON 数据类型的数据库(例如 PostgreSQL)。
  • encoder:用于编码 JSON 数据的自定义编码器。
  • verbose_name, default, null, blank 和 help_text 参数与 CharField 类似。



30、NullBooleanField(已弃用):

  • 用于存储可空的布尔值(True、False 或 None)。在较新版本的 Django 中,建议使用 BooleanField 并将 null 参数设置为 True 代替。
  • verbose_name, default, choices 和 help_text 参数与 CharField 类似。



以上是 Django 模型字段类型及其参数的概述。您可以根据实际需求选择合适的字段类型,并根据需要设置相应的参数。

更多详细信息和其他字段类型,请参考 Django 官方文档:
https://docs.djangoproject.com/en/3.2/ref/models/fields/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-19 17:38:05 | 显示全部楼层
Django 是一个强大的 Python Web 框架,它提供了方便的数据库操作。在 Django 中,数据库的配置通常位于项目的 settings.py 文件中。以下是一些常见的数据库配置参数及其用途:

  • ENGINE:数据库引擎。Django 支持多种数据库引擎,如 PostgreSQL、MySQL、SQLite 和 Oracle。例如,要使用 MySQL,您需要设置为 'django.db.backends.mysql'。
  • NAME:数据库名称。根据所选的数据库引擎,这通常是数据库文件的路径(SQLite)或数据库的名称(其他引擎)。
  • USER:数据库用户名。仅适用于需要身份验证的数据库系统,如 PostgreSQL、MySQL 和 Oracle。
  • PASSWORD:数据库密码。同样适用于需要身份验证的数据库系统。
  • HOST:数据库服务器的主机名或 IP 地址。如果使用 SQLite 或在本地主机上运行数据库服务器,可以设置为空字符串。
  • PORT:数据库服务器的端口。如果使用默认端口,可以设置为空字符串。
  • OPTIONS:一个包含额外连接选项的字典。这些选项将根据所选数据库引擎而有所不同。
  • TIME_ZONE:数据库的时区。如果未指定,默认使用 settings.py 文件中设置的时区。
  • CONN_MAX_AGE:数据库连接的最大生命周期。默认值为 0,表示每次请求都会创建新的连接。
  • ATOMIC_REQUESTS:布尔值,表示是否在每个请求上自动使用事务。默认为 False。
  • CHARSET:用于连接数据库的字符集。默认值根据所选数据库引擎而变化。
  • COLLATION:用于连接数据库的排序规则。默认值根据所选数据库引擎而变化。


示例配置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '',
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        },
    }
}

在这个示例中,我们使用 MySQL 数据库引擎,并为数据库提供了名称、用户名和密码。我们还在 OPTIONS 中设置了一个初始化命令,用于设置 SQL 模式。

请注意,这些参数只是创建和设置数据库连接的一部分。在 Django 项目中,您还需要定义数据模型(通常在 models.py 文件中),然后使用 Django 的命令行工具(如 makemigrations 和 migrate)创建和更新数据库表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-4-19 17:48:46 | 显示全部楼层
isdkz 发表于 2023-4-19 17:38
Django 是一个强大的 Python Web 框架,它提供了方便的数据库操作。在 Django 中,数据库的配置通常位于项 ...

不是我要的不是这个   是models这个文件
class Userinfo(models.Model):
    name=models.CharField(verbose_name="姓名",max_length=32)

CharField  max_length 这类的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 15:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表