"user_id" 列中的空值违反了 post 请求中的非空约束,序列化程序
null value in column "user_id" violates not-null constraint in post request , serialzier
这是我的视图和序列化程序,
当我 post 一些数据时,在列“user_id”中获取空值违反了非空约束
通过后 user_id 同样的问题
观看次数
serializer_class = subSerializer()
class subView():
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
serializer.py
class UserSerializer(serializers.ModelSerializer):
....................
class subSerialzier(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
class Meta:
model = RecipeSubmission
fields = (
'id',
'user',
'name',
.......)
我认为您需要在创建之前获取用户对象并将其添加到数据中。
现在您必须只为 'user' 字段提供一个整数。它应该是一个用户对象。
class subView(request):
new_data = request.data
user = User.objects.get(id=request.data['user']) # that is if you are sending the use Id from the frontend
new_data['user']=user
serializer = self.get_serializer(data=new_data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
试试看
这是我的视图和序列化程序, 当我 post 一些数据时,在列“user_id”中获取空值违反了非空约束 通过后 user_id 同样的问题
观看次数
serializer_class = subSerializer()
class subView():
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
serializer.py
class UserSerializer(serializers.ModelSerializer):
....................
class subSerialzier(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
class Meta:
model = RecipeSubmission
fields = (
'id',
'user',
'name',
.......)
我认为您需要在创建之前获取用户对象并将其添加到数据中。 现在您必须只为 'user' 字段提供一个整数。它应该是一个用户对象。
class subView(request):
new_data = request.data
user = User.objects.get(id=request.data['user']) # that is if you are sending the use Id from the frontend
new_data['user']=user
serializer = self.get_serializer(data=new_data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
试试看