django实践笔记

'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,这个在以后会进一步改进。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值