【发布时间】:2015-04-03 20:25:20
【问题描述】:
所以我有一个接受序列化专辑对象并将所有者分配给当前用户的视图
class AlbumListViewer(APIView):
def post(self, request, format = None):
request.data['user_id'] = request.user.id
serializer = AlbumSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(status.HTTP_201_CREATED)
return Response(status = status.HTTP_400_BAD_REQUEST)
我得到的错误是
“user_id”列中的空值违反非空约束
我的序列化器看起来像这样
class AlbumSerializer(serializers.ModelSerializer):
user = serializers.PrimaryKeyRelatedField(read_only=True)
class Meta:
model = Album
fields = ('id','album_name', 'date_created','user')
最后我的模型看起来像这样
class Album(models.Model):
user = models.ForeignKey(User)
album_name = models.CharField(max_length=30)
date_created = models.DateTimeField(editable=False, auto_now_add=True)
我已尝试在 JSON 数据中分配用户 ID,但序列化程序无法识别它,无论如何要分配此序列化对象并在保存之前为其分配所有者?
【问题讨论】:
标签: django django-rest-framework