Django rest:显示非主键字段

Django rest:显示非主键字段,django,django-rest-framework,Django,Django Rest Framework,很可能这将是一个重复,但我似乎找不到任何东西,因为没有有用的关键字 制造商是车内外键: class manufacturer(models.Models): id = models.AutoField(primary_key=True) name = models.CharField(unique=True, max_length=64) class cars(models.Model): id = models.AutoField(primary_key=True)

很可能这将是一个重复,但我似乎找不到任何东西,因为没有有用的关键字

制造商是车内外键:

class manufacturer(models.Models):
    id = models.AutoField(primary_key=True)
    name = models.CharField(unique=True, max_length=64)

class cars(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(unique=True, max_length=64)
    manufacturer = models.ForeignKey('Manufacturer')
现在,我有一个汽车api序列化到它包含的所有字段(id、名称、制造商)。但是,“制造商”字段显示制造商类的ID


问题:如何在汽车API中显示制造商的名称,而不是制造商的ID?我对
django rest framework
没有太多经验,但看起来您需要自定义将对象转换为JSON以返回给用户,以便关系被考虑在内

将其放入
manufacture\u app/serializers.py

from rest_framework import serializers

class CarsSerializer(serializers.ModelSerializer):
    manufacturer_name = serializers.RelatedField(source='manufacturer') 

    class Meta:
        model = Cars
        fields = ('id', 'name', 'manufacturer_name')
并确保您的
\uuuuunicode\uuuu
函数返回正确的名称:

class Manufacturer(models.Models):
    ....

    def __unicode__(self):
        return self.name

谢谢,我很难理解文档。你对学习Django/Rest有什么建议吗?这也是我第一次学习网络开发。为什么描述这种关系的模型没有改变呢?