'function' object has no attribute 'objects'
這個錯誤發生在views.py內函數名和model名重名的情況:
def worker(request):
table=worker.objects.all()
return render(request,'table.html',{'table':table})
由於python獲得了第一行函數worker,第二行的數據表worker就被自動重寫爲函數,則其原有的objects.all()函數就不能使用。
須改爲:
def worker_list(request):
table=worker.objects.all()
return render(request,'table.html',{'table':table})
coercing to Unicode: need string or buffer, list found
類型錯誤,發生在models.py內返回函數的返回類型寫錯時。
class score(models.Model):
worker_id=models.ForeignKey(worker)
score=models.IntegerField()
def __unicode__(self):
return [self.worker_id,self.score]
從上代碼看出,return的是一組list,但函數寫爲__unicode__(),則python返回的時候會發生類型錯誤。
我是將其改爲:
class score(models.Model):
worker_id=models.ForeignKey(worker)
score=models.IntegerField()
def __list__(self):
return [self.worker_id,self.score]
但這個在頁面上現實還是有問題的,不會認出list列表內的元素,而是直接返回一個list object,這個在以後會進一步改進。