Django 强制使用Unicode:需要字符串或缓冲区,未找到类型
我向视图发出Ajax请求,如下所示:Django 强制使用Unicode:需要字符串或缓冲区,未找到类型,django,json,django-models,Django,Json,Django Models,我向视图发出Ajax请求,如下所示: def all_json_models(request): data = {} try: isp = request.GET['status'] present_isp = Priority.objects.filter(ispname = isp) isp_count = MultiWAN.objects.all() # data['latest_no_rules'] = latest_no_rul
def all_json_models(request):
data = {}
try:
isp = request.GET['status']
present_isp = Priority.objects.filter(ispname = isp)
isp_count = MultiWAN.objects.all()
# data['latest_no_rules'] = latest_no_rules
#data['present_isp'] = present_isp
data['isp_count'] = isp_count
return HttpResponse(simplejson.dumps(data))
我的models.py
就像
class MultiWAN(models.Model):
isp_name = models.CharField(max_length=10)
description = models.TextField(null=True)
ip_address = models.IPAddressField(null=True)
subnet = models.IPAddressField(null=True)
gateway = models.IPAddressField(null=True)
nameserver = models.ForeignKey('NameServer')
weight = models.IntegerField(null=False)
interface = models.CharField(max_length=5)
def __unicode__(self):
"""
This function is to return the values we required.
Arguments:
- `self`:
"""
# return u'%s ' % (self.isp_name)
class NameServer(models.Model):
""" A Isp can have more than one nameserver so far we are declearing a seperate table
"""
name = models.IPAddressField(null=False)
class Priority(models.Model):
priority = models.IntegerField(null = True)
ispname = models.ForeignKey('MultiWAN')
rule = models.CharField(max_length=5,null=False)
From = models.IPAddressField(null=True)
To = models.IPAddressField(null=True)
def __unicode__(self):
return u'%s ' % (self.priority)
发出请求时,我收到错误信息:
"coercing to Unicode: need string or buffer, NoneType found"
我在这里做错了什么?如果没有完整的回溯,很难判断(因为它提供了有关在代码中引发异常的位置的信息) 错误消息“强制转换为Unicode:need string或buffer,NoneType found”表示django在某个时候试图将某个内容转换为Unicode,但需要一个字符串,但收到了
None
。这意味着要么调用传递None
而不是字符串的函数,要么调用其中一个方法返回None
而不是字符串
在您向我们展示的代码中,MultiWAN.\uuuuuuunicode\uuuuuuu
似乎定义不清。可能错误源于此?请显示a)正确缩进的有效Python代码;b)你得到的追踪。