轮询/ models.py:
class Message(models.Model):
auteur = models.ForeignKey(Personne)
contenu = models.TextField()
pub_date = models.DateTimeField(default=datetime.now(), blank=True, verbose_name="Date de publication")
views.py:
def welcome(request):
logged_user = get_logged_user_from_request(request)
if not logged_user is None:
if 'newMessage' in request.GET and request.GET['newMessage'] != '':
newMessage = Message(auteur=logged_user, contenu=request.GET['newMessage'], pub_date = datetime.now())
newMessage.save()
friendMessages = Message.objects.filter(auteur__amis=logged_user).order_by('-pub_date')
return render_to_response('polls/home.html', {'logged_user': logged_user, 'friendMessages': friendMessages})
else:
return HttpResponseRedirect('/login')
当我跑步时:
python manage.py migrate
我得到了这个追溯:
TypeError:int()参数必须是字符串,类似字节的对象或数字,而不是'datetime.datetime'
我现在不知道为什么会出现这个错误。
答案 0 :(得分:0)
default=datetime.now()
是失败的部分,但即使你修复它,也是一个坏主意。它会将您的默认值设置为应用程序启动时的日期,因为datetime.now()只会被评估一次。您可能想要的是auto_add_now=True
,如评论中所述。