前提・実現したいこと
djangoのdjangorestframeworkを用いたAPIサーバを作っています。
その際に、djongoを使ってDBをmongodbに変更しました。
はじめは、modelの値をfloatにしていたのでうまくいったのですが、配列を代入したくて文字列として格納するためにmodels.CharField()に変更したのですが、以下のようなエラーが発生します。
何が原因なのでしょうか。
発生している問題・エラーメッセージ
(hoge) bash-3.2$ python3 manage.py migrate djongo.exceptions.SQLDecodeError: FAILED SQL: ALTER TABLE "myapp_pointcloud" ALTER COLUMN "x" TYPE string
該当のソースコード
models
1 2from djongo import models # djongoのモデルを利用する 3import json 4 5class PointCloud(models.Model): 6 id = models.AutoField(primary_key=True) 7 x = models.CharField(max_length=20000) //x=models.FloatField()ではうまくいけた 8 y = models.CharField(max_length=2000) 9 z = models.CharField(max_length=2000) 10 created_at = models.DateTimeField(auto_now_add=True)
serializer
1from myappserver.myapp.models import PointCloud 2from rest_framework import serializers 3 4 5class PointCloudSerializer(serializers.HyperlinkedModelSerializer): 6 class Meta: 7 model = PointCloud 8 fields = ['id', 'x', 'y', 'z', 'created_at'] 9
補足情報(FW/ツールのバージョンなど)
python:3.7
あなたの回答
tips
プレビュー