我不确定我做错了什么,但经过身份验证的用户未在序列化程序中注册。
Models.py
class PostViewSet(viewsets.ModelViewSet):
serializer_class = PostSerializer
permission_classes = (
permissions.IsAuthenticatedOrReadOnly,
IsOwnerOrReadOnly, )
def perform_create(self, serializer):
serializer.save(posted_by=self.request.user)
Serializers.py
serializer.save(posted_by=self.request.user)
views.py
{
"posted_by": [
"This field is required."
]
}
我不明白为什么create
没有按预期工作。它应传递有关该字段的必要信息。
当我发出POST请求时,我收到错误
posted_by
我认为这与序列化程序中的validated_data
方法有关。出于某种原因,PolylineOptions rectOptions = new PolylineOptions();
rectOptions.color(R.color.colorPrimary);
String[][] lineInformation = ((MyApplication)getApplication()).getLineInformation(line);
for (int i=0; i<lineInformation.length; i++){
rectOptions.add(new LatLng(Double.parseDouble(lineInformation[i][0]),Double.parseDouble(lineInformation[i][1])));
}
中没有BSTR pszRoot,pszUserName,pszPassword;
pszRoot = ::SysAllocString(L"\\\\172.21.111.250\\ROOT\\cimv2");
pszUserName = ::SysAllocString(L"Administrator");
pszPassword = ::SysAllocString(L"qwerty1233");
(或类似的东西)。我想知道幕后究竟发生了什么。
答案 0 :(得分:2)
只需将posted_by
指定为只读字段。
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = '__all__'
read_only_fields = ('posted_by', )