У меня есть две модели A и B, и обе они имеют UUID в качестве первичных ключей.В B
есть внешний ключ, связанный с A
.
class A(models.Model):
id = models.UUIDField(primary_key=True, editable=False)
desc = models.CharField(max_length=128, null=True)
class B(models.Model):
id = models.UUIDField(primary_key=True, editable=False)
desc = models.CharField(max_length=128, null=True)
for_key = models.ForeignKey(A, on_delete=models.SET_NULL, null=True)
И вот мой сериализатор,
class ASerializer(serializers.ModelSerializer):
id = serializers.UUIDField(format='hex')
class Meta:
model = A
fields = ('id', 'desc')
class BSerializer(serializers.ModelSerializer):
id = serializers.UUIDField(format='hex')
class Meta:
model = B
fields = ('id', 'desc', 'for_key')
Как видите, я изменил uuid (первичный ключ) в шестнадцатеричном формате.Но формат for_key
в формате по умолчанию (hex_verbose).Так как же мне сериализовать внешний ключ for_key
в модели B в формат hex ?