------------模型
class Contact(models.Model):
email = models.EmailField()
class Client(models.Model):
name = models.CharField(max_length=256)
contact = models.ForeignKey('Contact')
class Vendor(models.Model):
name = models.CharField(max_length=256)
contact = models.ForeignKey('Contact')
------------模型序列化器
class ContactSerializer(serializers.ModelSerializer):
class Meta:
model = Contact
class ClientSerializer(serializers.ModelSerializer):
class Meta:
model = Client
class VendorSerializer(serializers.ModelSerializer):
class Meta:
model = Vendor
“客户表格”应包含以下字段: 客户模型的所有领域 & Contact Model的所有字段
是否可以使用单个“ClientSerializer”?
最佳答案
假设 Client Form
您正在谈论 API 端点的序列化程序(我正确理解您的问题):
由于 Client
和 Vendor
链接到 Contact
,您可以将它们添加为子结构。
class ContactSerializer(serializers.ModelSerializer):
clients = ClientSerializer(many=True)
vendors = VendorSerializer(many=True)
class Meta:
model = Contact
关于django-rest-framework - 使用 django rest 框架的复合表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17540830/