我有一个这样的 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 和最后一个字段(浮点数),而不是任何其他字段?
尝试通过 South 0.8.2 运行 schemamigration --initial 时出现同样的问题。但即使是一个简单的同步数据库也失败了,这让我认为这不是南方的问题。
我的软件版本:
- Django 1.5.4
- 南 0.8.2
- PostgreSQL 9.1 + PostGIS 2
有什么线索吗?