Django-form_valid()没有响应

埃利亚(Eliya)

我将默认的帖子作者设置为null,并使用form_valid函数覆盖帖子作者并将当前登录的用户分配给该作者。

form_valid()函数取自django官方文档,但由于某种原因它什么也没做。

我的django版本是:django-rest-framework = 3.12.2。Django = 3.1.4

models.py

class Recipe(models.Model):
    id = models.UUIDField( 
        primary_key=True,
        default=uuid.uuid4,
        editable=False
    )
    author = models.ForeignKey(get_user_model() , on_delete=models.CASCADE, null=True) # 
    title = models.CharField(max_length=150)
    description = models.TextField(blank=True)

serializers.py

class RecipeCreateSerializer(serializers.ModelSerializer):
    class Meta:
        model = Recipe
        fields = ('title', 'description')

views.py

class RecipeCreate(CreateAPIView):
    permission_classes = (permissions.IsAuthenticated, )
    queryset = Recipe.objects.all()
    serializer_class = RecipeCreateSerializer

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super(RecipeCreate, self).form_valid(form)

希望这里的某人会知道如何解决此问题。提前致谢

雷扬

我认为您正在混淆Django基于类的视图和Django rest框架视图。docs中,声明如果要request.user在序列化程序中使用,则必须使用perform_create方法。因此,首先,您必须将author字段添加RecipeCreateSerializerin中serializers.py

class RecipeCreateSerializer(serializers.ModelSerializer):
    class Meta:
        model = Recipe
        fields = ('title', 'description', 'author') # Add author now

并且您的RecipeCreate视图现在将具有perform_create方法,而不是form_valid

class RecipeCreate(CreateAPIView):
    permission_classes = (permissions.IsAuthenticated, )
    queryset = Recipe.objects.all()
    serializer_class = RecipeCreateSerializer

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django提交按钮没有响应

来自分类Dev

Django:form_valid 和模型验证

来自分类Dev

Django:is_valid和form_valid之间的区别

来自分类Dev

Django:form_valid和get_full_path()错误

来自分类Dev

Django form_valid错误。谁能找到错误?

来自分类Dev

对Django的Ajax调用发送电子邮件没有响应

来自分类Dev

Django分页器在最后一页没有响应

来自分类Dev

django-extra-views 中的 form_valid 方法。在现实中 form(s)_valid

来自分类Dev

从未以Django形式调用form_valid和form_invalid

来自分类Dev

从基于Django类的视图的form_valid方法调用特殊(非HTTP)URL

来自分类Dev

Django:如何正确处理自定义form_valid()的错误

来自分类Dev

在Django UpdateView中执行form_valid操作后如何保存其他数据?

来自分类Dev

Django通用视图form_valid无法在指定中介模型的ManyToManyField上设置值

来自分类Dev

使用FormView django在form_valid中渲染模板而不是success_url

来自分类Dev

Django-使用CBV时是否需要使用/覆盖form_valid()?

来自分类Dev

在基于类的视图的 form_valid() 中设置时,Django 会话变量丢失

来自分类Dev

我可以在 Django 测试中以某种方式从 form_valid() 调用逻辑吗?

来自分类Dev

HTML Form-Get没有响应

来自分类Dev

Rails form_tag没有响应

来自分类Dev

Django AttributeError:调用form.is_valid()总是导致Object没有属性'is_vaild'

来自分类Dev

django没有返回适当的响应

来自分类Dev

ActionListener没有响应?

来自分类Dev

UISearchController没有响应

来自分类Dev

OnClickListener没有响应

来自分类Dev

imagecopymerge没有响应

来自分类Dev

“ pyautogui”没有响应

来自分类Dev

setOnKeyListener没有响应

来自分类Dev

FBRequestConnection没有响应

来自分类Dev

textFieldShouldBeginEditing没有响应

Related 相关文章

  1. 1

    Django提交按钮没有响应

  2. 2

    Django:form_valid 和模型验证

  3. 3

    Django:is_valid和form_valid之间的区别

  4. 4

    Django:form_valid和get_full_path()错误

  5. 5

    Django form_valid错误。谁能找到错误?

  6. 6

    对Django的Ajax调用发送电子邮件没有响应

  7. 7

    Django分页器在最后一页没有响应

  8. 8

    django-extra-views 中的 form_valid 方法。在现实中 form(s)_valid

  9. 9

    从未以Django形式调用form_valid和form_invalid

  10. 10

    从基于Django类的视图的form_valid方法调用特殊(非HTTP)URL

  11. 11

    Django:如何正确处理自定义form_valid()的错误

  12. 12

    在Django UpdateView中执行form_valid操作后如何保存其他数据?

  13. 13

    Django通用视图form_valid无法在指定中介模型的ManyToManyField上设置值

  14. 14

    使用FormView django在form_valid中渲染模板而不是success_url

  15. 15

    Django-使用CBV时是否需要使用/覆盖form_valid()?

  16. 16

    在基于类的视图的 form_valid() 中设置时,Django 会话变量丢失

  17. 17

    我可以在 Django 测试中以某种方式从 form_valid() 调用逻辑吗?

  18. 18

    HTML Form-Get没有响应

  19. 19

    Rails form_tag没有响应

  20. 20

    Django AttributeError:调用form.is_valid()总是导致Object没有属性'is_vaild'

  21. 21

    django没有返回适当的响应

  22. 22

    ActionListener没有响应?

  23. 23

    UISearchController没有响应

  24. 24

    OnClickListener没有响应

  25. 25

    imagecopymerge没有响应

  26. 26

    “ pyautogui”没有响应

  27. 27

    setOnKeyListener没有响应

  28. 28

    FBRequestConnection没有响应

  29. 29

    textFieldShouldBeginEditing没有响应

热门标签

归档