【发布时间】:2022-02-07 17:56:15
【问题描述】:
我是 django 新手,我创建了具有 OnetoOne 关系的模型,我有用户表,并且我与 storyboard 库表有 onetoone 关系,问题是当我创建一个 storyboardlibraby 对象时,我需要保存用户对象onetoonefield,即使添加了无法将故事板库保存到数据库的用户对象,如果有人可以帮助我,请帮助我,我将添加我编写的代码。
class StoryboardLibrary(models.Model):
name = models.CharField(max_length=50)
data = JSONField(db_index=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return "%s The Library" % self.name
序列化程序类
class StoryboardSerializer(serializers.ModelSerializer):
class Meta:
model = StoryboardLibrary
fields = ('data','name','user')
查看发布方式
def add_storyboard(request):
# validating for already existing data
if StoryboardLibrary.objects.filter(**request.data).exists():
raise serializers.ValidationError('This data already exists')
user = get_object_or_404(User, id=request.user.id)
request.data['user'] = user
storyboard = StoryboardSerializer(data=request.data)
print(storyboard)
if storyboard.is_valid():
storyboard.save()
return Response(storyboard.data, status=status.HTTP_201_CREATED)
else:
return Response(status=status.HTTP_404_NOT_FOUND)
点击 post api 后,我无法保存数据 storyboardserializer 无效,因此它正在执行 else 块并返回状态 404 not found
【问题讨论】:
标签: python django django-rest-framework django-rest-viewsets