<h2>方法1</h2>
<p>由于在<strong><code>Pegawai</code></strong>模型中定义了<strong><code>__str__()</code></strong>方法,因此可以使用<a href="https://www.django-rest-framework.org/api-guide/relations/#stringrelatedfield" rel="nofollow noreferrer"><strong>^{<cd3>}</strong></a></p>
<pre><code>class BarangSerializer(serializers.ModelSerializer):
<b>pegawai = serializers.StringRelatedField()</b>
class Meta:
model = Barang
fields = (
'pegawai',
'nama_barang',
'harga_barang',
)</code></pre>
<h2>方法2</h2>
<p>使用<a href="https://www.django-rest-framework.org/api-guide/fields/#charfield" rel="nofollow noreferrer"><strong>^{<cd4>}</strong></a></p>
<pre><code>class BarangSerializer(serializers.ModelSerializer):
<b>pegawai = serializers.CharField(source='pegawai.name')</b>
class Meta:
model = Barang
fields = (
'pegawai',
'nama_barang',
'harga_barang',
)</code></pre>
<hr/>
<h3>更新-1</h3>
<p>要在创建模型对象时解决问题,请重写<strong><code>to_representation()</code></strong>方法</p>
<pre><code>class BarangSerializer(serializers.ModelSerializer):
class Meta:
model = Barang
fields = (
'pegawai',
'nama_barang',
'harga_barang',
)
def to_representation(self, instance):
rep = super().to_representation(instance)
rep['pegawai'] = instance.pegawai.name
return rep
</code></pre>