我使用Django,因爲我很新,我有一些問題。在Django模型中查詢
我呼籲簽名和我的models.py文件名爲SignatureForm的ModelForm一個模型:
class Signature(models.Model):
sig = models.ForeignKey(Device)
STATE = models.CharField(max_length=3, choices=STATE_CHOICES)
interval = models.DecimalField(max_digits=3, decimal_places=2)
verticies = models.CharField(max_length=150)
class SignatureForm(ModelForm):
class Meta:
model = Signature
widgets = {
'verticies': HiddenInput,
}
要使用它,我寫在views.py以下功能:
def SigEditor(request):
# If the form has been sent:
if request.method == 'POST':
form = SignatureForm(request.POST)
# If it is valid
if form.is_valid():
# Create a new Signature object.
form.save()
return render_to_response('eQL/sig/form_sent.html')
else:
return render_to_response('eQL/sig/try_again.html')
else:
form = SignatureForm()
return render_to_response('eQL/sig/showImage.html', {'form' : form})
但是,我不想保存所有新簽名。我的意思是,如果用戶引入了設備A和狀態B的新簽名,我想檢查一下我的數據庫中是否有這樣的簽名,將其刪除,然後保存新簽名,以便我只保存一個簽名爲每個設備和狀態。
我已經試過這樣的事情在保存前,但當然不工作:
q = Signature.objects.filter(sig = s, STATE = st)
if q.count != 0:
q.delete()
form.save()
可以
任何人的幫助?謝謝!!
你有製表符和空格的代碼中的一個可怕的組合(之前,我清理了)。這一定會在未來讓你陷入麻煩。使用一個或另一個(最好是空格)。 – 2011-04-13 08:51:49