import datetime class BalanceSheet(models.Model): ticker = models.ForeignKey(Security, on_delete=models.CASCADE, related_name="balance_sheet") date = models.DateField(default=datetime.date)
但当我试图在管理面板中添加记录时,收到以下错误
TypeError at /admin/financials/balancesheet/add/ function missing required argument 'year' (pos 1) Request Method: GET Request URL: http://localhost:8000/admin/financials/balancesheet/add/ Django Version: 3.1 Exception Type: TypeError Exception Value: function missing required argument 'year' (pos 1) Exception Location: /usr/local/lib/python3.7/site-packages/django/db/models/fields/__init__.py, line 831, in get_default Python Executable: /usr/local/bin/python Python Version: 3.7.8 Python Path: ['/code', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages'] Server time: Sun, 09 Aug 2020 11:40:48 +0000
传递的默认值需要一个参数,这就是为什么会出现错误。如果你通过了 datetime.date.today
datetime.date.today
尝试替换
... date = models.DateField(default=datetime.date)
有:
import datetime ... date = models.DateField(default=datetime.date.today)
from datetime import datetime ... date = models.DateField(default=datetime.now)