DRF не отображает поле PK в сериализаторе
По аналогии с этим, я хочу показать всю связанную информацию в выводе сериализатора на HTML-странице:
Модель:
class Shipment(models.Model):
name = models.CharField("name", max_length = 128)
date = models.DateField()
class DebitSum(models.Model):
name = models.CharField("name", max_length = 128)
shipment = models.ForeignKey(Shipment, on_delete = models.CASCADE, blank = True, null = True)
сериализаторы:
class ShipmentSerializer(serializers.ModelSerializer):
class Meta:
model = Shipment
fields = ["pk", "name", "date",]
class DebitSumSerializer(serializers.ModelSerializer):
shipment = ShipmentSerializer()
class Meta:
model = DebitSum
fields = ["name", "shipment",]
This leads to a HTML page where I can fill in a name
for the shipment, but not just an ID
or PK
. I tried altering to:
class ShipmentSerializer(serializers.ModelSerializer):
id = serializers.ReadOnlyField()
class Meta:
model = Shipment
fields = ["id", "name", "date",]
В request.data
написано следующее:
<QueryDict: {'shipment.name': ['2'], ...}> #oviously fails
в то время как я бы хотел, чтобы это выглядело именно так:
<QueryDict: {'shipment.pk': [2], ...}>