0
我已经通过了一些可能的解决方案,但没有成功。我与estoque应用中的以下模型:Django - 全球名称'modelo'未定义
class Produto(models.Model):
CAMISA = "CM"
QUADRO = "QD"
CANECA = 'CN'
ESCOLHAS_PRODUTO = (
(CAMISA, 'Camisa'),
(QUADRO, 'Quadro'),
(CANECA, 'Caneca'),
)
tipo = models.CharField(max_length = 40,
choices=ESCOLHAS_PRODUTO,
default=CAMISA)
class Camisa(Produto):
# the choices here are very long, so i omitted them
cor = models.CharField(max_length = 40,
choices=CORES_CAMISA,
)
modelo = models.CharField(max_length = 50,
choices=MODELO_CAMISA,
)
tamanho= models.CharField(max_length = 50,
choices=TAMANHO_CAMISA,
)
quantidade = models.IntegerField()
def __unicode__(self):
return self.modelo
然后我有一个表格来收集一些数据,并将其保存在数据库中。但由于它是一个库存控制应用程序,如果记录已经存在,我希望应用程序更新数量。如果它不存在,我希望它创建记录。我的看法代码如下:
def index(request):
# template = loader.get_template('recados/index.html')
produtos_estoque = Camisa.objects.all()
template = 'estoque/index.html'
if request.method == 'POST':
form = CamisaForm(request.POST)
if form.is_valid():
produto_atualizar = Camisa.objects.get(modelo = request.POST[modelo], cor = request.POST[cor], tamanho = request.POST[tamanho])
if produto_atualizar:
produto_atualizar.quantidade = request.POST[quantidade]
else:
produto_atualizar = form.save()
return HttpResponseRedirect('')
else:
form = CamisaForm()
return render_to_response(template, { 'form': form, 'produtos_estoque': produtos_estoque }, context_instance=RequestContext(request))
从错误的轨迹如下:
NameError at /estoque/
global name 'modelo' is not defined
有人可以帮助我吗?
一般建议:你显然有很好的英语技巧 - 你应该尝试养成[用英文编码]的习惯(http://www.codinghorror.com/blog/2009/03/the-ugly-美国-programmer.html)。 –
哦,谢谢你的建议。我是巴西人,因为我只是学习和做一些应用程序来激励自己学习,所以我从来没有想过这件事。但它是有道理的。 – fgalvao