NameError:名称PositiveSmallIntegerField未定义

时间:2013-05-27 20:46:40

标签: django django-models python-3.x

Django 1.5& Python 3.2.3,在Ubuntu 12.04上。

尝试syncdb我的数据库时出现非常奇怪的错误。我有一些看起来不错的字段但是当我运行python3 manage.py sqlall时,Django正在吐出这条错误消息。

NameError: name 'PositiveSmallIntegerField' is not defined

咦?我尝试使用谷歌搜索,但在任何地方都没有任何关于它的事情。所以我猜我犯了一些愚蠢的错误,但我看不出来。我的models.py看起来像这样:

from django.db import models

class Song(models.Model):
    own = models.BooleanField(default=True)
    heard = models.DateTimeField(blank=True,null=True)
    release_date = models.DateField(blank=True,null=True)
    style = models.CharField(max_length=255,blank=True,null=True)
    artist = models.CharField(max_length=255,blank=True,null=True)
    featuring = models.CharField(max_length=255,blank=True,null=True)
    title = models.CharField(max_length=255,blank=True,null=True)
    listen = models.URLField(max_length=255,blank=True,null=True)
    highest_chart_pos = models.PositiveSmallIntegerField()
    note = models.TextField(blank=True,null=True)

这就是它的全部内容,我直接从Django文档中粘贴了PositiveSmallIntegerField,所以我知道我没有忽略它的拼写错误。那么,如何定义PositiveSmallIntegerField

1 个答案:

答案 0 :(得分:0)

将其扔在这里是因为我发现自己也遇到了同样的错误,因此为 歌曲!

var particle_system_geometry = new THREE.Geometry();

for (var lat = 0, lon=-90; lat < 360, lon <90; lat=lat+0.25) {

var particle = new THREE.Vector3();

var phi   = (90-lat)*(Math.PI/180);
var theta = (lon+180)*(Math.PI/180);

particle.x = -((605.5) * Math.sin(phi)*Math.cos(theta));
particle.y = ((605.5) * Math.sin(phi)*Math.sin(theta));
particle.z = ((605.5) * Math.cos(phi));

particle_system_geometry.vertices.push(particle);
if ((lat >= 360)) {lon=lon+0.25; lat = 0;}
}
var particle_system_material = new THREE.PointsMaterial({color: 0x888888});
var particleSystem = new 
THREE.Points(particle_system_geometry,particle_system_material);
scene.add(particleSystem); 

这里有些细微的差别。我在from django.db import models class Track(models.Model): release = models.ForeignKey('Release', on_delete=models.CASCADE) position = models.PositiveSmallIntegerField() number = PositiveSmallIntegerField() name = models.CharField(max_length=100) length = models.DurationField() 之前省略了models.的命名空间。上面您似乎没有这样做,但是也许其他人也有类似的错误也会犯我的错误。

这是我的堆栈跟踪:

PositiveSmallIntegerField