Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python详细信息:数组值必须以“开始”;{quot;或维度信息_Python_Django_Django Models_Django Rest Framework - Fatal编程技术网

Python详细信息:数组值必须以“开始”;{quot;或维度信息

Python详细信息:数组值必须以“开始”;{quot;或维度信息,python,django,django-models,django-rest-framework,Python,Django,Django Models,Django Rest Framework,我试图将字符串添加到ArrayField,但得到的是详细信息:数组值必须以“{”或维度信息开头。错误 这就是模型看起来像更新凭证的方法,我试图将商户id添加到商户阵列字段 class CloverCredential(models.Model): tenant=models.OneToOneField('tenant.tenant',unique=True,on_delete=models.CASCADE) 令牌=EncryptedCharField(最大长度=255,null=True) sp

我试图将字符串添加到ArrayField,但得到的是
详细信息:数组值必须以“{”或维度信息开头。
错误

这就是模型看起来像更新凭证的方法,我试图将商户id添加到商户阵列字段

class CloverCredential(models.Model):
tenant=models.OneToOneField('tenant.tenant',unique=True,on_delete=models.CASCADE)
令牌=EncryptedCharField(最大长度=255,null=True)
spreedly\u receiver\u token=EncryptedCharField(最大长度=255,null=True)
merchants=ArrayField(models.CharField(max_length=200,blank=True),null=True)
def更新_凭证(自身、新_令牌、商户id):
self.token=新的\u令牌
self.merchants=merchant\u id
self.save()
这是im调用更新凭证和传递令牌以及
商户id

类OAuthCallback(APIView): def api_请求(自身、路径): return requests.get(path).json() def get(自我、请求、*args、**kwargs): code=request.GET.GET('code','') state=unsign_状态(request.GET.GET('state','') 商户id=request.GET.GET('merchant\u id','') 租户=获取对象或404(租户,主键=状态['tenant\u id']) clover_凭证,created=CloverCredential.objects.get_或_create(tenant=tenant) url=f'{settings.CLOVER\u url\u US}/oauth/token?客户端\u id={settings.CLOVER\u应用程序\u id}&客户端\u secret={settings.CLOVER\u应用程序\u secret}&代码={code}' oauth_response=self.api_请求(url) clover_凭证。更新_凭证(oauth_响应['access_token'],商户id) 返回重定向(状态['redirect']) 我还尝试将商户id附加到商户
self.merchants.append(商户id)
我犯了这个错误
AttributeError:'NoneType'对象没有属性“append”
问题
“商户”字段是一个列表,但默认为空

解决方案
因此,最好的办法是设置一个
default=list

错误解释

数组值必须以“{”或维度信息开头

出现这种情况是因为您将变量放入列表中,而不是执行此操作。
self.merchants=[merchant\u id,]

“NoneType”对象没有属性“append”


出现这种情况是因为您是无列表,而不是列表。请将无效列表设为默认值或按代码设置:
self.merchants=list()

谢谢,此解决方案帮助了我。