我使用Django 1.3构建了一个应用程序,现在正尝试使用postgresql在linode上部署到ubuntu 10.10。我在前端和静态媒体上使用nginx,并向使用apache / mod_wsgi的应用程序发送应用程序请求。一切正常我的本地开发机器也是Ubuntu 10.10,我可以在我的网络服务器上安装应用程序但是当我尝试访问主页时出现以下错误:'str'对象没有属性'_default_manager'
根据错误消息,它似乎遇到了一个模型形式的问题,我将其子类化为一个字段,将其从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
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:2)
您的问题似乎与此问题Getting the "str" has no property "_default_manager" on a Django app just on startup中的问题类似。该问题的答案导致与各种建议的修复进行讨论。希望有所帮助。