Django已经有一个User模型,它有一个username字段;我也有一个Profile模型. 我想要实现的是发送用户模型的用户名以及Profile模型的字段,这样我就可以从Profile模型本身访问用户名,至于前端我返回的Profile模型的对象
模型
User= get_user_model()
class Profile(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
id_user = models.IntegerField()
department= models.CharField(max_length=50,blank=True)
degree= models.CharField(max_length=20,blank=True)
year= models.CharField(max_length=20,blank=True)
bio = models.TextField(blank=True)
profileimg= models.TextField(default=DEFAULT_IMAGE_DATA)
def __str__(self):
return self.user.username
串行器
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields=['id','user', 'id_user', 'department', 'degree', 'year', 'bio','profileimg']
class ChatMsgSerializer(serializers.ModelSerializer):
reciever_profile= ProfileSerializer(read_only=True)
sender_profile= ProfileSerializer(read_only=True)
class Meta:
model = ChatMsg
fields=['id','user', 'sender','sender_profile', 'reciever','reciever_profile', 'msg', 'is_read', 'date']
我认为一个解决方案是从前端发出另一个获取请求,然后再创建一个返回用户名的端点,但是当我需要发送者和接收者名时,