0

私は次のように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_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"

私はここで何を間違っていますか?

4

1 に答える 1

0

完全なトレースバックがないとわかりません(コード内のどこで例外がスローされるかについての情報が得られるため)。

「Unicodeへの強制:文字列またはバッファが必要です。NoneTypeが見つかりました」というエラーメッセージは、ある時点で、djangoが何かをUnicodeに変換しようとし、文字列を予期したが、を受け取ったことを意味しますNone。これは、文字列の代わりに関数passingを呼び出すか、Noneメソッドの1つが文字列の代わりに戻ることを意味しNoneます。

あなたが私たちに示したコードでは、MultiWAN.__unicode__明確に定義されていないようです。たぶん、エラーはこれに起因しますか?

于 2012-06-01T13:42:48.307 に答える