如何访问Django ForeignKey模型字段? [英] How to access Django ForeignKey model field?
本文介绍了如何访问Django ForeignKey模型字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个Django模型
I have two django models
模型A
class A(models.Model):
aname = models.CharField(max_length=64, verbose_name='name')
和模型B
class B(models.Model):
bname = models.CharField(max_length=64, verbose_name='name')
mod = models.ForeignKey(A, related_name='a_b',null=True,on_delete=models.CASCADE)
模型B的序列化器
class BSerializer(serializers.ModelSerializer):
mod= ASerializer(many=False, read_only=True)
class Meta:
model = B
fields = (','id','bname','mod.aname')
我想要 aname 字段要使用模型B的序列化器访问模型A的代码。使用mod.aname不起作用。它说
I want the aname field of model A to be accessed with the serializer of model B. Using mod.aname doesn't work. It says
字段名称
mod.aname
对于模型<$ c无效$ c> B 。
我该怎么办?
推荐答案
这个怎么样?在 serializers.CharField
中使用参数 source
:
How about this one? using parameter source
inside serializers.CharField
:
class BSerializer(serializers.ModelSerializer):
mod = serializers.CharField(
source='mod.aname',
read_only=True
)
class Meta:
model = B
fields = ('id','bname','mod')
这篇关于如何访问Django ForeignKey模型字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文