django orm创建yyyy/mm/dd+随机数格式的字段
时间: 2023-10-07 17:08:47 浏览: 90
可以通过在 models.py 文件中的 DateField 字段上使用 auto_now_add=True 属性来自动创建当前日期和时间,通过 strftime() 方法格式化日期和时间,实现创建 yyyy/mm/dd 格式的字段,具体实现代码如下:
```python
from django.db import models
import random
class MyModel(models.Model):
rand_date = models.DateField(auto_now_add=True)
def save(self, *args, **kwargs):
if not self.id:
year = self.rand_date.year
month = self.rand_date.month
day = self.rand_date.day
self.rand_date = f"{year}/{month}/{day}"
super().save(*args, **kwargs)
```
在上述代码中,我们定义了一个名为 rand_date 的 DateField 字段,并在 save 方法中根据 auto_now_add=True 属性自动创建当前日期,然后将其格式化为 yyyy/mm/dd 格式。最后调用 super().save() 方法来保存数据。
阅读全文