django 涉及订单表,自动根据时间生成订单号
时间: 2023-08-02 15:17:39 浏览: 185
用JS实现根据当前时间随机生成流水号或者订单号
5星 · 资源好评率100%
您好!针对您的问题,我可以给您提供以下思路:
1. 在 Django 中创建一个订单表,其中包含订单号和创建时间字段。
2. 在订单模型中定义一个 `save` 方法,当订单被保存时,自动生成订单号。
3. 订单号可以由当前时间戳和一个随机数组成,保证唯一性。
4. 在视图函数中创建订单对象并保存,订单号和创建时间字段会自动填充。
下面是一个简单的实现示例:
```python
import time
import random
from django.db import models
class Order(models.Model):
order_no = models.CharField(max_length=20, unique=True)
created_time = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
if not self.order_no:
timestamp = str(int(time.time()))
random_str = str(random.randint(1000, 9999))
self.order_no = timestamp + random_str
super().save(*args, **kwargs)
```
在视图函数中创建订单对象并保存:
```python
from django.shortcuts import render
from .models import Order
def create_order(request):
order = Order()
order.save()
return render(request, 'order.html', {'order': order})
```
以上代码仅供参考,具体实现方式可以根据您的需求进行调整。希望能对您有所帮助!
阅读全文