django - 如何创建特定的 django-model 字段,每天包含一个日期和唯一的数字?
问题描述
我在 django 上创建了一个网上商店,但遇到了以下问题。
如何为订单编号创建一个 django 模型字段,每天包含一个日期和唯一编号?
此选项在作业中进行了描述,其他选项不适合我。
UPD: 订单号应如下所示:yyyymmdd + 每天唯一订单数。第二天,这个数字将从头开始。
解决方案
结果,我变成了这样。也许有人会派上用场。
from django.db import models
from django.utils.timezone import datetime
def get_num(date=datetime.now()):
date = date.strftime('%Y%m%d')
if Order.objects.all().last():
last_order = Order.objects.all().last()
if last_order.number[0:8] == date:
num = int(last_order.number[8::]) + 1
else:
num = 1
else:
return f'{date}1'
return(f'{date}{num}')
class Order(models.Model):
number = models.CharField(max_length=12, default=get_num, verbose_name='номер заказа')
...
推荐阅读
- python-3.x - 根据过去 n 天过滤掉行
- r - 使用geom_link2时如何修改图例中hline的线型
- c# - C# 在面板中关闭一个表单并在同一面板中打开一个新表单
- python - 从不使用 selenium 的网页中抓取内容
- c++ - 如何在 QXlsx 中获取一行中使用的列数
- google-apps-script - 使用调用函数(参数)从 code.hs 获取数据
- sql - SQL 除法为零,不得影响其他计算
- git - 合并 GIT 中的两个存储库时无法在一定时间内保留历史记录
- amazon-web-services - AWS 网络负载均衡器重定向端口
- css - SAPUI5 UI 表格滚动条宽度和高度问题