【发布时间】:2021-12-19 15:24:08
【问题描述】:
class Hotel (models.Model):
name = models.CharField()
country = models.CharField()
city = models.CharField()
street = models.CharField()
class Residence(models.Model):
hotel_id = models.ForeignKey(Hotel, on_delete=models.DO_NOTHING, related_name='hotel')
house_number = models.CharField()
我想加入两个模型(酒店和住宅)然后发布。我写了以下代码:
serializers.py
class HotelSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Hotel
fields = ['name', 'country', 'city', 'street']
class ResidenceSerializer(serializers.HyperlinkedModelSerializer):
hotel_id = HotelSerializer()
class Meta:
model = Residence
fields = ['house_number', 'hotel_id']
def create(self, validated_data):
return Residence.objects.create(**validated_data)
views.py
class ResidenceViewSet(viewsets.ModelViewSet):
serializer_class = ResidenceSerializer
queryset = Residence.objects.all()
当我尝试在我的 api 中发布数据时,出现以下错误:Residence() got an unexpected keyword argument 'hotel_id'。有人可以帮我吗?
【问题讨论】:
-
请添加您的输入数据(例如来自网络浏览器/邮递员)
标签: django django-models django-rest-framework django-views