INT()参数必须是字符串或数字,而不是 'datetime.date'

问题描述:

我有问题djanggo 1.7和我使用Python 2.7INT()参数必须是字符串或数字,而不是 'datetime.date'

这个代码在models.py

class Tag(models.Model): 

    title   = models.CharField(max_length=50) 
    description  = models.TextField() 
    created_date = models.DateTimeField(default = timezone.now) 
    published_date = models.DateTimeField(blank=True, null=True) 

    def publish(self): 
     self.published_date = timezone.now() 
     self.save() 

    def __str__(self): 
     return self.title 

class Post(models.Model): 

    author   = models.ForeignKey('auth.User') 
    category  = models.ForeignKey(Category) 
    tag    = models.ForeignKey(Tag) 
    title   = models.CharField(max_length=200) 
    text   = models.TextField() 
    created_date = models.DateTimeField(default = timezone.now) 
    published_date = models.DateTimeField(blank=True, null=True) 

    def publish(self): 
     self.published_date = timezone.now() 
     self.save() 

    def __str__(self): 
     return self.title 

此是urls.py

from django.conf.urls import patterns, include, url 
from . import views 

urlpatterns = patterns('', 
    url(r'^$', views.post_list), 
    url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail), 
    url(r'^post/new/$', views.post_new, name='post_new'), 
    url(r'^post/(?P<pk>[0-9]+)/edit/$', views.post_edit, name='post_edit'), 
) 

我很成功地makemigrations但是当我尝试/manage.py迁移我收到错误这样

TypeError: int() argument must be a string or a number, not 'datetime.date' 

你能帮我解决这个问题吗?

+0

可您发布urls.py? – user3 2015-02-11 04:38:49

+0

我已经发布我在上面 – point 2015-02-11 04:40:38

+2

urls.py我认为它会更好,如果你将包括详细的堆栈跟踪到您的question.Believe我这可以帮助我们回答您 – 2015-02-11 06:09:13

而不是models.DateTimeField(default = timezone.now)尝试models.DateTimeField(auto_now_add=True)

+0

它不工作 – point 2015-02-11 04:54:03

+0

你应该提供完整的呼叫跟踪,如果你有它 – cmidi 2015-02-11 05:14:47

+0

你是什么意思? – point 2015-02-11 05:25:44