0
私は適切なモデルを持っています。アプリケーションのMacOS上の作業が、Linux上で、私は間違いPythonでの外部キーのシリアル化
を持って、私は管理者からのタスクを追加すると 'NoneType' オブジェクトには、属性 'ID'
は、私は(
のような間違いを取得していません1366年、 "不正な文字列値: '\ XD0 \ xBE \ XD1 \ X80 \ XD0 \ XBF ...' 行1の列 'タイトル' の ")
from rest_framework import serializers
from users.models import User
from task.models import Task
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'first_name', 'last_name', 'user_type', 'balance')
class TaskSerializer(serializers.ModelSerializer):
assignee = serializers.SerializerMethodField()
created_by = serializers.SerializerMethodField()
class Meta:
model = Task
fields = ('id', 'title', 'description', 'money', 'assignee', 'created_by')
def get_assignee(self, obj):
return {
'id': obj.assignee.id,
'username': obj.assignee.username,
'first_name': obj.assignee.first_name,
'last_name': obj.assignee.last_name,
'user_type': obj.assignee.user_type,
'balance': obj.assignee.balance
}
def get_created_by(self, obj):
return {
'id': obj.created_by.id,
'username': obj.created_by.username,
'first_name': obj.created_by.first_name,
'last_name': obj.created_by.last_name,
'user_type': obj.created_by.user_type,
'balance': obj.created_by.balance,
}
エンコードに問題がありますが、問題の内容を正確に把握するのに十分な情報を共有していません。データベーステーブルの文字セットが間違っているようです。挿入しようとしているテキストを 'title'フィールドに、' DESCRIBE task_task'の出力をMySQLで共有します。 – mindcruzer
ロシア語のテキストを入力しようとしましたが、これは "название"のようなものです –
データベースキャラクタセット/照合は 'latin1' /' latin1_swedish_ci'のように設定されている可能性があり、挿入しようとしているバイトをデコードできません。 https://docs.djangoproject.com/en/1.11/ref/unicode/#creating-the-databaseを参照してください。 'utf8'の文字セットと' utf8_unicode_ci'(またはそれに類するもの)の照合が必要です。 – mindcruzer