0
インジケータモデルの外部キーを持つインジケータコンポーネントモデルのインスタンスを更新しようとしています。私はインジケータの主キーを渡す場合は、次のエラーを返す:Django RESTフレームワークの外部キーの更新
Cannot assign "4": "IndicatorComponent.indicator_id" must be a "Indicator" instance.
をしかし、私はインジケータインスタンスを渡すと、私は次のエラーを取得する:
"Incorrect type. Expected pk value, received Indicator."
モデル
class IndicatorComponent(models.Model):
indicator_component_id = models.AutoField(
primary_key=True
)
date = models.DateField(
verbose_name='Fecha',
auto_now=False,
null=True
)
indicator_id = models.ForeignKey(
'Indicator',
null=True
)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = 'Componente Indicador'
シリアライザ
class IndicatorComponentSerializer(serializers.ModelSerializer):
class Meta:
model = models.IndicatorComponent
fields = (
'indicator_component_id', 'name',
'description', 'date', 'position_x', 'position_y',
'size_width', 'size_height', 'indicator_id',
'template_report_id', 'component_styles_id'
)
read_only_fields = ('creation_date', 'last_modified_date',)
私はこの矛盾を避けるために何ができますか?
おかげで、それを指標にindicator_id列の名前を変更することで修正されました –