django(DRF)将模型对象序列化为非模型对象?

时间:2019-02-28 22:16:20

标签: python django django-rest-framework

例如,我有一个Django用户模型

class User(AbstractBaseUser, PermissionsMixin,):
    first_name = models.CharField(max_length=20, default=None)
    last_name = models.CharField(max_length=20, default=None)
    email = models.EmailField(unique=True, max_length=100)
    user_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

我想从该用户模型对象(例如Friend)派生基于非模型的对象(我无需将Friend obj持久保存在表中,这将作为响应发送,因此不再需要)。我想向用户发送一个好友列表,每个列表都是从相应的用户obj派生的。

我正在探索创建FriendSerilizer类的想法,例如

class FriendSerializer(serializers.Serializer):
  class Meta:
    fields = ('avatar', 'user_id', 'first_name', 'last_name', 'hidden')

以某种方式将用户obj传递给Friend序列化程序,以生成必要的临时Friend obj。

这是否可行,如果可以的话,这是创建Friend obj的合理解决方案,还是有一种更好的(Django友好的)方式来创建所需的Friend对象?

0 个答案:

没有答案