如何使用Rest Framework在Django中序列化关系OneToOne? [英] How to serialize a relation OneToOne in Django with Rest Framework?
本文介绍了如何使用Rest Framework在Django中序列化关系OneToOne?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个类PersonProfile和一个类Person。
在人类中,我与PersonProfile具有OneToOne关系。
我如何序列化呢?
I have a class PersonProfile, and a class Person. In the class Person i have a relationship OneToOne with PersonProfile. How can i Serialize that?
class PersonProfile(models.Model):
interests = models.CharField(max_length=200, blank=True)
researchLines = models.CharField(max_length=200, blank=True)
loginName = models.CharField(max_length=50, blank=True)
class Person(models.Model):
profile = models.OneToOneField(PersonProfile)
enviroment = models.ForeignKey(Enviroment, related_name="persons")
推荐答案
您可以创建自定义序列化器字段来创建自定义PersonSerializer。
您可以添加字段以从环境
获取值。
You can create custom serializer fields to create your custom PersonSerializer.
You can add fields to get values from Enviroment
.
class PersonSerializer(serializers.HyperlinkedModelSerializer):
interests = serializers.CharField(source='profile.interests')
researchLines = serializers.CharField(source='profile.researchLines')
loginName = serializers.CharField(source='profile.loginName')
# --- FIELDS FOR enviroment
class Meta:
model = Person
fields = ('interests', 'researchLines', 'loginName',
#-- enviroment fields
)
您还可以使用 serializers.ModelSerializer
class PersonSerializer(serializers.ModelSerializer):
#-------------------------
这篇关于如何使用Rest Framework在Django中序列化关系OneToOne?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文