介绍 Django 的模型字段 DecimalField

这篇具有很好参考价值的文章主要介绍了介绍 Django 的模型字段 DecimalField。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    DecimalField 是一种模型字段,相当于数据库字段的属性 decimal(x,y)。在 Python 中用一个 Decimal 实例来表示,表现为一个固定精度的十进制数。它使用 DecimalValidator 验证输入。
    语法:

field_name = models.DecimalField(max_digits=None, decimal_places=None, **options)

    DecimalField 具有以下必需参数:

  • DecimalField.max_digits
    数字中允许的最大位数。请注意,此数字必须大于或等于 decimal_places。
  • DecimalField.decimal_places
    与数字一起存储的小数位数。

    例如,要存储最高为 999.99 的数字,精度为小数点后 2 位,您可以使用:

models.DecimalField(..., max_digits=5, decimal_places=2)

    以10位小数的精度存储大约10亿的数字:

models.DecimalField(..., max_digits=19, decimal_places=10)
DecimalField 示例

    使用示例说明 DecimalField。假设一个名为 testproject 的项目,该项目有一个名叫 testapp 的应用。在 testapp 应用的 models.py 文件中输入以下代码:

from django.db import models

# Create your models here.

class TestModel(models.Model):
    test_field = models.DecimalField(max_digits=5, decimal_places=2)

    在 settings.py 文件的 INSTALLED_APPS 选项中增加 testapp:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'testapp',
]

    现在在终端执行 makemigrations 命令:
介绍 Django 的模型字段 DecimalField
    testapp 文件夹中将会出现一个名为 migrations 的文件夹,migrations 文件夹中有一个名为 0001_initial.py 的文件。
介绍 Django 的模型字段 DecimalField
    执行:

python manage.py migrate

    最终会在表 testapp_testmodel 中,创建一个名为 test_field 的 DecimalField 字段。表名组成结构为:应用名_类名(如:testapp_testmodel)。
介绍 Django 的模型字段 DecimalField
    注意:尽管我们没有在 models 给表设置主键,但是 Django 会自动添加一个 id 作为主键。

DecimalField 用途

    DecimalField 用于存储数据库中的 python datetime.date 实例,也可以在数据库中存储任何类型的十进制数。让我们尝试在上面创建的模型中存储一个十进制数。
    修改 testapp 下的 admin.py :

from django.contrib import admin

# Register your models here.

# importing the model from testapp app
from testapp.models import TestModel

# importing datetime module
import decimal

# creating an instance of datetime.date
d = decimal.Decimal(9.53)

# creating an instance of TestModel
test_object = TestModel.objects.create(test_field = d)
test_object.save()

admin.site.register(TestModel)

    在管理后台中检查,我们已经创建了一个 TestModel 实例。
介绍 Django 的模型字段 DecimalField
    内容为:
介绍 Django 的模型字段 DecimalField

参考文档

[1].NaveenArora. DecimalField – Django Models[EB/OL]. [2022-10-27]. https://www.geeksforgeeks.org/decimalfield-django-models/.文章来源地址https://www.toymoban.com/news/detail-406022.html

到了这里,关于介绍 Django 的模型字段 DecimalField的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Django学习】(十)模型序列化器_关联字段序列化

    这篇文章是针对模型类序列化器以及如何关联字段序列化 进行深入讲解的;  在上面的模型序列化类中: 可以继承ModelSerializer类或者ModelSerializer的子类,来创建模型序列化器类; 模型序列化器类中可以重新定义序列化器字段,优先级大于自动生成的同名字段 如果新定义的字

    2024年02月11日
    浏览(47)
  • Django的数据库操作模型的字段参数blank和null有什么区别?什么叫表单验证?

    在Django的数据库操作模型中,字段参数 blank 和 null 用于定义模型字段的验证规则和数据库约束。它们的区别如下: blank :这个参数用于验证表单数据的有效性。当字段的 blank 参数设置为 True 时,表明该字段可以为空值或者不填写任何内容,不会触发验证错误。换句话说,

    2024年02月11日
    浏览(38)
  • Django后端开发——模型层及ORM介绍

    B站网课:点击蓝色字体跳转 或者复制链接到浏览器打开:https://www.bilibili.com/video/BV1vK4y1o7jH?p=15vd_source=597e21cf34ffcdce468ba00be2177e8a 一般都有python3-dev,没有default-libmysqlclient-dev,需要安装default-libmysqlclient-dev 然后安装mysqlclient 若安装default-libmysqlclient-dev时报错‘pkg-config: not found’

    2024年02月19日
    浏览(109)
  • Django项目单字段的区间查询

    在Django项目中会碰到一些需求就是查询某个表中的一些字段从某日到某日的数据,而且是对但字段查询这个时候我们有两两种方法解决 单字段类型是DateTimeField的 查询日期范围的 这个时候在filter.py里面重写DateTimeFromToRangeFilter,为什么要重写呢? 因为我们做区间查询 起始与结

    2024年02月08日
    浏览(38)
  • django添加数据库字段进行数据迁移

    1.修改view.py里面的变量 2.在model.py新增字段 3.打开terminal并将环境切到项目所在环境,切换方式为 4.执行命令

    2024年02月09日
    浏览(58)
  • Django admin中展示字段设置外链

    假设有一个爬虫程序,它的主要作用是爬取一些新闻标题和该新闻的访问链接,总的来说数据项就两个: 新闻标题 访问链接(URL) 作为开发者我希望在Django admin页面中展示“访问链接”的字段能够直接点击访问,而不是复制下来再粘贴到浏览器中访问。 鉴于此,我需要给“

    2024年02月12日
    浏览(32)
  • django后台进行加密手机号字段,加密存储,解密显示

    需求: 1 :员工在填写用户的手机号时,直接填写,在django后台中输入 2:当员工在后台确认要存储到数据库时,后台将会把手机号进行加密存储,当数据库被黑之后,手机号字段为加密字符 3:员工在后台中进行查看客户手机号时,需要正常显示,非加密状态 4:直接把公钥和

    2024年01月19日
    浏览(55)
  • django rest_framework 框架动态设置序列化返回的字段

    动态修改字段可以使Django rest框架API像graphQL端点一样,只从模型中检索所需的字段。 一旦序列化器被初始化,就可以使用.fields属性访问序列化器上设置的字段字典。访问和修改此属性允许您动态修改序列化器。 显式地修改fields参数可以帮助您做一些奇怪的事情,例如在运行

    2024年02月16日
    浏览(50)
  • django中的models.ManyToManyField 字段如何新增,通过Category,如何反向查询Product

    在Django中,可以通过以下步骤向models.ManyToManyField字段添加新条目: 在models.py文件中定义包含ManyToManyField字段的模型类,例如: 运行 python manage.py makemigrations 和 python manage.py migrate 命令来创建数据库迁移和应用迁移。 在视图或其他适当的地方,使用以下方式向ManyToManyField字段

    2024年01月21日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包