【发布时间】:2018-04-18 15:24:16
【问题描述】:
我正在尝试调用 serlizerer 从视图集中保存对象 这是views.py
class GroupViewSet(viewsets.ViewSet):
....
@detail_route(methods=['post'], url_path='task')
def get_task(self, request, pk=None):
group = get_object_or_404(Group, pk=pk)
data = {"group": group }
log_serializer = LogSerializer(data=data)
if log_serializer.is_valid(raise_exception=True):
log_serializer.save()
这是serializer.py
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('id', 'name')
class LogSerializer(serializers.ModelSerializer):
group = GroupSerializer()
class Meta:
model = Log
fields = ('group', 'created')
这是model.py:
class Group:
....
class Log(models.Model):
user = models.ForeignKey(User)
group = models.ForeignKey(Server) #Not the group of user , it is the group id which user try to query
created = models.DateTimeField(auto_now_add=True)
回复;
{
"group": {
"non_field_errors": [
"Invalid data. Expected a dictionary, but got group."
]
}
}
【问题讨论】:
标签: python django django-rest-framework