0
我使用Django 1.3構建了一個應用程序,現在正嘗試使用postgresql將其部署到linode上的ubuntu 10.10。我在前端和靜態媒體上使用nginx,並向apache/mod_wsgi提供的應用程序發送應用程序請求。一切工作正常我的本地開發機器,這也是Ubuntu 10.10,我可以在我的Web服務器上安裝應用程序,但是當我嘗試訪問主頁時,我得到以下錯誤:'str'對象沒有屬性'_default_manager'部署django應用程序時出錯
根據錯誤消息,它似乎遇到了一個模型表單有問題,其中我將字段子類化,將其從FK字段更改爲URLField並手動執行驗證。這是拋出錯誤的形式:
class TopicResourceForm(ModelForm):
resource = URLField(label='Resource URL')
class Meta:
model = TopicResource
fields = ('title', 'rtype', 'note')
而這些是模型。
class TopicResource(models.Model):
added = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
title = models.CharField(max_length=140, blank=True)
note = models.TextField(blank=True)
resource = models.ForeignKey('aresource.Resource')
rtype = models.ForeignKey('aresource.ResourceType', verbose_name="Resource Type", blank=True, null=True)
topic = models.ForeignKey('mystudy.Topic')
def __unicode__(self):
return '%s on %s' % (self.resource, self.topic)
def get_absolute_url(self):
return '/topics/%s/%s/%s' % (self.topic.slug, self.resource.id,
self.id)
class Resource(models.Model):
added = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
url = models.URLField(unique=True)
rtype = models.ForeignKey(ResourceType, verbose_name="Resource Type", blank=True, null=True)
def __unicode__(self):
return '%s' % self.url
def get_absolute_url(self):
return '/resources/%s' % self.id
任何幫助,將不勝感激,謝謝。
是的,就是這樣。我不得不將引用的字符串中的FK引用更改爲模型。對於看這個的其他人來說是bug報告https://code.djangoproject.com/ticket/10405#comment:11很奇怪,謝謝。 – thesteve