я пытаюсь добавить строку в ArrayField, и я получаю DETAIL: Array value must start with "{" or dimension information.
ошибку.
вот как модель выглядит как метод update_credential, где я пытаюсь добавить merchant_id к продавцам ArrayField.
class CloverCredential(models.Model):
tenant = models.OneToOneField('tenant.Tenant', unique=True, on_delete=models.CASCADE)
token = EncryptedCharField(max_length=255, null=True)
spreedly_receiver_token = EncryptedCharField(max_length=255, null=True)
merchants = ArrayField(models.CharField(max_length=200, blank=True), null=True)
def update_credential(self, new_token, merchant_id):
self.token = new_token
self.merchants = merchant_id
self.save()
В этом представлении я вызываю update_credential и передаю токен и merchant_id
class OAuthCallback(APIView):
def api_request(self, path):
return requests.get(path).json()
def get(self, request, *args, **kwargs):
code = request.GET.get('code', '')
state = unsign_state(request.GET.get('state', ''))
merchant_id = request.GET.get('merchant_id', '')
tenant = get_object_or_404(Tenant, pk=state['tenant_id'])
clover_credential, created = CloverCredential.objects.get_or_create(tenant=tenant)
url = f'{settings.CLOVER_URL_US}/oauth/token?client_id={settings.CLOVER_APP_ID}&client_secret={settings.CLOVER_APP_SECRET}&code={code}'
oauth_response = self.api_request(url)
clover_credential.update_credential(oauth_response['access_token'], merchant_id)
return redirect(state['redirect'])
Я также пытался добавить merchant_id к продавцам self.merchants.append(merchant_id)
и получил эту ошибку AttributeError: 'NoneType' object has no attribute 'append'