我使用Django Rest Framework,我有以下两个序列化器:
class ServiceSerializer(serializers.ModelSerializer):
id = serializers.ReadOnlyField()
class Meta:
model = ServiceType
fields = ('id', 'serviceName', 'servicePrice')
class CompanyShortListSerializer(serializers.ModelSerializer):
services = ServiceSerializer(many=True)
class Meta:
model = Company
fields = ( 'id','name','address','cost_per_patient','cost_per_month','renting_fee','services')
Run Code Online (Sandbox Code Playgroud)
ServiceType模型如下所示:
class ServiceType(models.Model):
serviceName = EncryptedCharField(max_length=100, blank=True, verbose_name = "Typ us?ugi")
servicePrice = EncryptedFloatField(null=True, blank=True, verbose_name = "Cena us?ugi", validators = [MinValueValidator(0.1), MaxValueValidator(999)])
company = models.ForeignKey(Company, related_name = 'services')
Run Code Online (Sandbox Code Playgroud)
我想通过更改相关服务来更新现有实例(例如删除其中一些).要做到这一点,我这样做:
def update(self, instance, validated_data):
# Updates an exisitng Company with several services
instance.name = validated_data['name']
instance.address = validated_data['address'] …Run Code Online (Sandbox Code Playgroud)