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