DRF与模型中的单个字段相关

toXel

是的,我知道关于DRF串行器关系的很多问题已经得到解答。但是他们当中没有一个可以帮助我,或者我要放弃以获得它...

我有以下型号:

class User(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=30)
    ...

class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    person_id = models.IntegerField()
    birthdate = models.DateTimeField(blank=True, null=True)
    ...

现在,我想birthdate从场PersonUser是这样的:

{
    "id": 397,
    "name": "name",
    "birthdate": "2015-11-11T00:00:00Z",
    ...
}

所以我这样做:

class UserSerializer(serializers.ModelSerializer):
    birthdate = serializers.SerializerMethodField()

    class Meta:
        model = User

    def get_birthdate(self, obj):
        person = PersonSerializer(Person.objects.get(person_id=obj.pk)).data
        return person['birthdate']

是的,但是必须有更好的方法。我有多个要通过这种方式关联的字段,结果将是尴尬的代码,所以请帮助我!

toXel

再次感谢dhke。他在评论中帮助我找到了我问题的答案。

我不得不做的是加入了唯一OneToOneFieldPerson

class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    person_id = models.OneToOneField(User, related_name='person')
    birthdate = models.DateTimeField(blank=True, null=True)
    ...

然后将以下字段添加到UserSerializer

birthdate = serializers.DateTimeField(source='person.birthdate')

这就是整个魔术。

(我喜欢DRF!)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在DRF中,如何正确显示一个模型中另一个模型的相关名称字段?

来自分类Dev

在 DRF 中,我们可以对相关模型使用主字段以外的其他字段吗?

来自分类Dev

如何将序列化器中的模型queryset打包到一个字段DRF中?

来自分类Dev

Django在与同一模型相关的多个字段上注释

来自分类Dev

与Django中抽象模型相关的ForeignKey字段

来自分类Dev

在子查询中对相关模型进行DRF ManytoMany过滤吗?

来自分类Dev

从PHP中的JSON打印单个字段

来自分类Dev

在表的单个字段中显示数据

来自分类Dev

在多个字段中搜索单个值

来自分类Dev

在 symfony 中检查选民的单个字段

来自分类Dev

选择记录中的单个字段

来自分类Dev

通过yii2中的单个字段从两个模型搜索得到两个gridview

来自分类Dev

将多行中的字段连接成单个字段

来自分类Dev

在单个 get() 请求中显示两个相关模型

来自分类Dev

单个字段的数组

来自分类Dev

在DRF 3中的ModelSerializer上添加非模型字段

来自分类Dev

DRF:串行器中的静态/只读/非模型字段?

来自分类Dev

如何从 DRF 中的 Serializer 中提取模型字段?

来自分类Dev

在Django模型中将多个字符串存储到单个字段

来自分类Dev

从 Laravel 中的相关模型中获取字段?

来自分类Dev

如何从 Laravel 5.2 中的表中检索单个字段

来自分类Dev

外键与Django模型中的相关字段冲突

来自分类Dev

Django REST API 从相关模型中的 ForeignKey 返回字段

来自分类Dev

将表单中的多个字段插入数据库中的单个字段

来自分类Dev

在jQuery中打印数组的单个字段

来自分类Dev

如何在mysql的单个字段中插入多个值

来自分类Dev

如何更新pouchDB文档中的单个字段

来自分类Dev

使用AngularJS中的单个输入过滤多个字段

来自分类Dev

在访问报告中对单个字段使用查询

Related 相关文章

  1. 1

    在DRF中,如何正确显示一个模型中另一个模型的相关名称字段?

  2. 2

    在 DRF 中,我们可以对相关模型使用主字段以外的其他字段吗?

  3. 3

    如何将序列化器中的模型queryset打包到一个字段DRF中?

  4. 4

    Django在与同一模型相关的多个字段上注释

  5. 5

    与Django中抽象模型相关的ForeignKey字段

  6. 6

    在子查询中对相关模型进行DRF ManytoMany过滤吗?

  7. 7

    从PHP中的JSON打印单个字段

  8. 8

    在表的单个字段中显示数据

  9. 9

    在多个字段中搜索单个值

  10. 10

    在 symfony 中检查选民的单个字段

  11. 11

    选择记录中的单个字段

  12. 12

    通过yii2中的单个字段从两个模型搜索得到两个gridview

  13. 13

    将多行中的字段连接成单个字段

  14. 14

    在单个 get() 请求中显示两个相关模型

  15. 15

    单个字段的数组

  16. 16

    在DRF 3中的ModelSerializer上添加非模型字段

  17. 17

    DRF:串行器中的静态/只读/非模型字段?

  18. 18

    如何从 DRF 中的 Serializer 中提取模型字段?

  19. 19

    在Django模型中将多个字符串存储到单个字段

  20. 20

    从 Laravel 中的相关模型中获取字段?

  21. 21

    如何从 Laravel 5.2 中的表中检索单个字段

  22. 22

    外键与Django模型中的相关字段冲突

  23. 23

    Django REST API 从相关模型中的 ForeignKey 返回字段

  24. 24

    将表单中的多个字段插入数据库中的单个字段

  25. 25

    在jQuery中打印数组的单个字段

  26. 26

    如何在mysql的单个字段中插入多个值

  27. 27

    如何更新pouchDB文档中的单个字段

  28. 28

    使用AngularJS中的单个输入过滤多个字段

  29. 29

    在访问报告中对单个字段使用查询

热门标签

归档