如何在django中增加IntegerField变量?

时间:2016-12-28 22:54:14

标签: django django-models django-forms django-templates django-views

我有一个小细节,我有一个表单,在其中一个字段中我想得到一个数字(例1)并填写表格。我想添加另一个产品,并连续增加和退出连续数字(即2)等等。

当我运行python manage.py migrate时,它标记了我的model.py中的错误,我不知道如何修复它。

当我上传新产品时,我希望它在文本框中自动增加1,但我不知道该怎么做,你能帮帮我吗?

Model.py

<a href="home.html">Visit the Home Page</a>

view.py

class Equipo(models.Model):
    folio  = models.IntegerField()
    marca  = models.CharField(max_length=100)
    modelo  = models.CharField(max_length=100)
    serie  = models.CharField(max_length=100)
    express = models.CharField(max_length=100)
    numem = models.CharField(max_length=100)
    responsable = models.CharField(max_length=100)
    departamento = models.ForeignKey(Departamento)
    puesto = models.CharField(max_length=100)
    descripcion = models.CharField(max_length=100)
    estado = models.ForeignKey(Estado)
    estatus = models.ForeignKey(Estatus)
    hdd = models.CharField(max_length=100)
    procesador = models.CharField(max_length=100)
    ram = models.CharField(max_length=100)
    ubicacion = models.ForeignKey(Ubicacion)
    fechaal = models.CharField(max_length=12, null=True)
    ultman = models.CharField(max_length=12, null=True)
    proxman = models.CharField(max_length=12, null=True)
    status  = models.BooleanField(default=True)

    def __unicode__(self):
        return unicode(self.folio)

    def number():
        folio = Equipo.objects.count() #Here I frame error when I do the migration
        if folio == None:
            return 1
        else:
            return no + 1

    incremcode = models.IntegerField(_('Code'), max_length=5, unique=True, \
    default=number)

form.py

def altaeq_view(request):
    if request.method =='POST':
        form = EquipoForm(request.POST)
        if form.is_valid(): 
            form.save()
            return HttpResponseRedirect('#')
    else:
        form = EquipoForm()
        return render_to_response('altaeq.html',{'form':form},context_instance=RequestContext(request))

1 个答案:

答案 0 :(得分:1)

运行迁移时,模型类不能直接使用。那是因为您的数据库和类可能不同(直到迁移运行...)。

您可以像这样替换您的方法:

def number(self):
    return self.objects.count() + 1

注意: 如果不需要if folio == None。这不可能发生,count()将返回一个整数。同样在Python中,您可以这样写:if folio is None

相关问题