0
新的django。我想要做的是发布一个具有OneToOneField属性的模型。你如何发布?POST相关的字段Django rest框架
Models.py
Article(models.Model):
name=models.CharField(max_length=50)
description=models.TextField(max_length=200)
Characteristic(models.Model):
article=models.OneToOneField(Article,on_delete=models.CASCADE,primary_key=True)
other=models.FloatField()
another=models.IntegerField()
Serializer.py
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model=Article
field='__all__'
class CharacteristicSerializer(serializers.ModelSerializer):
article=serializers.StringRelatedField()
class Meta:
model=Characteristic
field='__all__'
Views.py POST方法(基于API)
def post(self, request,format=None):
serializer=CharacteristicSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data,status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
如果我试着像这样的东西要发布:
(some_url...)/characteristics/ other=4.4 another=4 post=1
我得到了一个错误:
django.db.utils.IntegrityError: (1048, "Column 'post_id' cannot be null")
的想法是接收模式条的id,然后保存模型特点。
任何想法?
不是Django的人 - 女服务员是什么我使用...你不只是需要包含关键“文章”的特征实例的ID,具有关键“其他”的浮动和具有“另一个”字段的一个整数的POST的身体? –
您需要在请求中提供POST数据,而不是网址。 –
我在另一篇文章中发现了这个,但你必须给它另一个模型的数据,我的问题是只给出模型的ID号 http://stackoverflow.com/questions/27365486/how-to-后到-A-Django的休息框架-API与相关的模型 – hhc