Django==1.5.5
djangorestframework==2.3.8
私はForeignkeyを持つモデルを持っています:
class Role(models.Model):
name = models.CharField("Name", unique=True)
def __unicode__(self):
return unicode(_(self.name))
class Worker(models.Model):
name = models.CharField("Name")
role = models.ForeignKey(Role, default=1)
このモデルに REST API を追加します。
class WorkerSerializer(serializers.ModelSerializer):
role = serializers.PrimaryKeyRelatedField(required=False, read_only=False)
class Meta:
model = Worker
class WorkerAPIList(generics.ListCreateAPIView):
model = Worker
serializer_class = WorkerSerializer
ロールが指定されていない POST リクエストで新しいワーカーを作成すると、モデルのデフォルト値を選択できず、エラーが返されます。
ValueError: Cannot assign None: "Worker.role" does not allow null values.
どんな助けでも大歓迎です。
ありがとう
注:フィールドが によって翻訳されているPrimaryKeyRelatedField
ため使用しているため、REST API では使用できません。Role.name
django-dbgettext
編集: Role テーブルに id=1 の行が既に存在します。