我有一个像这样的Django模型:
class Company(models.Model):
name=models.CharField(max_length=256, default=''),
user=models.ForeignKey(User),
logo=models.ImageField(upload_to='logos')
def __unicode__(self):
return unicode(self.name)
运行syncdb后,我得到了这个PostgreSQL表
CREATE TABLE myapp_company (
id integer NOT NULL,
logo character varying(100) NOT NULL
);
因此,没有名称字段,也没有用户ID。其他模型类也会发生同样的事情:缺少字段。随便看看。例如,这很奇怪。这个模型
class MapLayer(models.Model):
cartodb_layer = models.ForeignKey('CartoDBLayer'),
work_map = models.ForeignKey('WorkMap'),
overlap = models.BooleanField(default=False),
min_zoom = models.IntegerField(default=4),
max_zoom = models.IntegerField(default=14),
opacity = models.FloatField(default=0.6),
anti_aliasing = models.FloatField(default=0.5)
生成此PostgreSQL表
CREATE TABLE myapp_maplayer (
id integer NOT NULL,
anti_aliasing double precision NOT NULL
);
那么,为什么只有id和最后一个字段(一个浮点数),而不是任何其他字段?
同样的问题试图运行schemamigration --initial via South 0.8.2。但事实上即使是简单的syncdb失败也让我觉得这不是南方问题。
我的软件版本:
任何线索?
答案 0 :(得分:0)
解决。有史以来最愚蠢的错误。问题是逗号。所以,我需要替换
class Company(models.Model):
name=models.CharField(max_length=256, default=''),
user=models.ForeignKey(User),
logo=models.ImageField(upload_to='logos')
def __unicode__(self):
return unicode(self.name)
使用
class Company(models.Model):
name=models.CharField(max_length=256, default='')
user=models.ForeignKey(User)
logo=models.ImageField(upload_to='logos')
def __unicode__(self):
return unicode(self.name)