嗨,我正在尝试一个简单的事情,非常有文档记录,在shell中工作但不能在django admin中工作。
我的模特:
class Book(models.Model):
name = models.CharField(max_length=30)
loan_start = models.DateField()
loan_ends = models.DateField()
def loan_length(self):
temp1 = self.loan_start
temp2 = self.loan_ends
res = temp2-temp1
return res.days
我的管理员:
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'loan_start’, ‘loan_length’, ‘loan_ends’)
如果我在django shell中尝试这种方法,那就完美了:
manage.py shell
from books.models import *
抓一些书:
somebook = Book.objects.get(id=19)
somebook.loan_start
Out[12]: datetime.date(2016, 4, 28)
somebook.loan_ends
Out[13]: datetime.date(2016, 8, 1)
somebook.loan_length()
Out[3]: 95
但如果我尝试在管理员中使用它,我会收到此错误:
Exception Value: unsupported operand type(s) for -: 'NoneType' and 'datetime.date'
我将一个日期减去另一个日期,获得timedelta并返回它。我真的不知道为什么会出现异常错误。
由于