在 django 后端自动增加新发票的发票编号

2024-01-15

我想自动递增发票号码,即 3 位字符和 4 位数字。

class Invoice:
    invoice_no = models.CharField(max_length=500, null=True, blank=True, validators=[RegexValidator(regex='^[a-zA-Z0-9]*$',message='Invoice must be Alphanumeric',code='invalid_invoice number'),])

我在后端注册了这个模型。但现在,当我单击管理中的“创建发票”时,发票应该会自动填写。当我再次单击管理中的“创建新发票”时,发票编号应增加 1,并且应为自动字段。

例如,发票编号 MAG0001、MAG0002、MAG0003 等,当我单击“创建新发票”时,这应该是管理中的自动字段。


定义一个函数来生成发票号码。

def increment_invoice_number():
    last_invoice = Invoice.objects.all().order_by('id').last()
    if not last_invoice:
         return 'MAG0001'
    invoice_no = last_invoice.invoice_no
    invoice_int = int(invoice_no.split('MAG')[-1])
    new_invoice_int = invoice_int + 1
    new_invoice_no = 'MAG' + str(new_invoice_int).zfill(4)
    return new_invoice_no

现在使用此函数作为模型字段中的默认值。

invoice_no = models.CharField(max_length=500, default=increment_invoice_number, null=True, blank=True)

这只是一个想法。修改该函数以匹配您首选的发票号码格式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 django 后端自动增加新发票的发票编号 的相关文章

随机推荐

  • Spring Data Elasticsearch 批量索引/删除 - 数百万条记录

    我正在使用 Spring Data Elasticsearch 4 2 5 我们有一项工作对特定的数据库表执行 ETL 提取 转换和加载数据 我在作业运行时使用 Elasticsearch 为这些数据建立索引 数据将达到数百万条甚至更多 目
  • html 5 可以提供实时媒体流吗?

    我听说过 html 5 有很多有趣的功能 但它能够提供来自网络摄像头的实时媒体流吗 本身不是 html5 但 html5 视频可以读取流 例如 YouTube 上的实时流媒体 通过 HTML5 中的 RTSP 或 RTP 进行流式传输 ht
  • 在 Coldfusion 中使用 Apache Cassandra

    我正在尝试在使用 Coldfusion 编码的项目中使用 Apache Cassandra 由于 Coldfusion 没有适用于 Apache Cassandra 的驱动程序 反之亦然 因此我尝试使用 Cassandra 的 Java 驱
  • 如何从反应本机代码转到特定的本机视图控制器?

    我是反应原生的新手 我正在将 React Native 中的一项功能添加到现有的 Swift 应用程序中 我提出了RCTRootview来自我的本机视图控制器 从那里 当用户单击后退按钮时 我必须转到用 swift 编写的主页 如何从反应本
  • 如何在 Web 应用程序中管理时区?

    我不想在我的网络应用程序中管理用户的不同时区 但我不知道从哪里开始 我必须在数据库中保存每个用户的本地时间 或者可能将其转换为 UTC 时间 保存 然后再次进行转换以显示它 或者还有其他方法吗 例如 如果我的一个用户在他的当地时间进行预约
  • ImageSourceConverter 抛出 NullReferenceException ...为什么?

    在过去一个小时左右的时间里 我一直在为这个问题绞尽脑汁 我有一些代码是这样的 videoTile Icon new ImageSourceConverter ConvertFrom coDrivr4 Properties Resources
  • 将 SuperCsv 与多个变量列结合使用

    我正在查看 Super CSV 中的这个示例website http supercsv sourceforge net examples reading variable cols html这表明 dateofbirth 是可选列 如果我有
  • 如何让 Jupyter / IPython Notebook nbconvert 输出不会溢出页面的 PDF?

    当我通过以下方式将 Jupyter IPython Notebook 转换为 PDF 时ipython nbconvert my notebook ipynb to PDF 它大部分看起来都不错 除了一些长行和所有输出只是超出页面边缘 没有
  • Android @Override 用法[重复]

    这个问题在这里已经有答案了 Java 新手 C 老手 我注意到很多使用 Override在 Android 示例代码中 我认为所有 Java 方法默认都是 虚拟 的 然后做什么 Override do 例子 private class He
  • 绝对位置+滚动

    与以下HTML and CSS container position relative border solid 1px red height 256px width 256px overflow auto full height posi
  • 如何将 InMemoryUploadedFile 的内容转换为字符串

    有谁知道如何转换上传文件的内容 InMemoryUploadedFile 在 Django2 中转换为字符串 我想知道下面的内容怎么写convert2string uploaded file request FILES file my xm
  • 无法在 Mac OSX 上安装 PG gem

    我创建了一个新的 Rails 应用程序 rails new d postgresql 但是 我无法安装 pg gem 我之前使用brew安装了postgres 它会随着我的Mac自动启动 我已经尝试过在此处发布的几件事 我正在使用红宝石2
  • 如何生成具有泊松分布的离散随机事件?

    我知道 Knuth 的生成随机泊松分布数的算法 下面在 Java 中 但是我如何将其转换为调用方法 generateEvent 随时间随机 int poissonRandomNumber int lambda double L Math e
  • Python IDLE 无法在 Windows 7 上启动

    我曾经使用Python 2 7 然后IDLE就可以工作了 我卸载了它并安装了Python 3 1 现在 Idle 无法启动 我应该做什么才能让它运行 笔记 我尝试了 c Python31 pythonw exe c Python31 Lib
  • PHP DOM 中无效 XML/HTML 的问题

    假设您有以下 HTML 你想将它加载到 PHP DOMDocument 对象中 你应该怎么做 如果你使用 doc gt loadHTML 就会出现这样的问题 div 是在里面 div
  • Python-创建表

    我是一个处于早期阶段的Python用户 我有 1850 年至 2010 年特定地点的两个温度数据集 整个期间每个月都有一个温度值 我正在尝试使用以下给定格式的这些值创建一个表 T是我的数据 year data JAn FEB MAR APR
  • 使用存储库模式时的 MongoDB 和大型数据集

    好的 在工作中我们正在使用 MVC C 和 MongoDB 开发一个系统 当第一次开发时 我们决定遵循存储库模式可能是一个好主意 真是太痛苦了 下面的代码可以让您了解当前实现的内容 MongoRepository 类 public clas
  • NOT NULL 约束失败 Django CreateView

    我想在这个项目上实现两个目标 首先 我想将登录用户保存为审阅者 其次 我想将外键中的律师值传递到审核表单中 这样 用户可以点击律师详细信息页面上的审查链接进行审查 并审查该律师而不是其他人 我一直在实现第一个目标 但出现了这个错误 erro
  • Java - Jackson 嵌套数组

    鉴于以下数据 version 1 data 1 2 3 4 5 6 我尝试了以下定义并使用ObjectMapper readValue jsonstring Outer class class Outer public int versio
  • 在 django 后端自动增加新发票的发票编号

    我想自动递增发票号码 即 3 位字符和 4 位数字 class Invoice invoice no models CharField max length 500 null True blank True validators Regex