1
我有一個具有以下模型:返回相關的GUID,而不是IDS在Django的REST的架構序列化
class TeamInvite(models.Model):
inviter = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='invites_sent')
invitee = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='invites_received')
team = models.ForeignKey(Team, related_name='team_invites')
guid = models.UUIDField(default=uuid.uuid4)
class UserMetaData(models.Model):
user = AutoOneToOneField(settings.AUTH_USER_MODEL, related_name='usermetadata')
guid = models.UUIDField(default=uuid.uuid4)
我想通過只返回GUID字段來掩蓋我的用戶的系列化Django Rest框架。這是我第一次嘗試,但它似乎沒有工作
class InviteListingField(serializers.RelatedField):
def to_representation(self, value):
return value.usermetadata.guid
class TeamInviteSerializer(serializers.ModelSerializer):
lookup_field = 'guid'
inviter = InviteListingField(read_only=True)
invitee = InviteListingField(read_only=True)
class Meta:
model = TeamInvite
fields = ('guid', 'inviter', 'invitee', 'team'
)
問題1:我只想要這個特殊的序列化應用於GET(細節),並列出調用。
問題2:我是否以正確的方式區分邀請人和被邀請人?因爲看起來,當我進入to_representation方法時,兩次的值都是相同的。