在DRF(django-rest-framework)中,列“ author_id”中的空值违反了非空约束。我该怎么办?

触摸扭曲

我通过DRF制作了django项目。在此处输入图片说明

在那个窗口中,我单击了帖子,所以它没有用。

追溯

#I almost omitted other codes
Environment:

Request Method: POST
Request URL: http://127.0.0.1:8000/comments/

Django Version: 1.9.7
Python Version: 3.5.2

Traceback:

Exception Type: IntegrityError at /comments/
Exception Value: null value in column "author_id" violates not-null constraint
DETAIL:  Failing row contains (2, comment1, 2016-08-03 13:30:59.536186+00, null, null).

serializers.py

class UserSerializer(serializers.HyperlinkedModelSerializer):
    posts = serializers.HyperlinkedRelatedField(many=True, view_name='post-detail', read_only=True)
    comments = serializers.HyperlinkedRelatedField(many=True, view_name='comment-detail', read_only=True)
    class Meta:
        model = User
        fields = ('url','id', 'pk', 'username', 'email', 'comments', 'posts', 'author')

class CommentSerializer(serializers.HyperlinkedModelSerializer):
    author = serializers.ReadOnlyField(source='author.username')
    post = serializers.ReadOnlyField(source='post.title')
    highlight = serializers.HyperlinkedIdentityField(view_name='comment-highlight', format='html')
    class Meta:
        model = Comment
        fields = ('url','id', 'pk', 'post', 'author', 'text','highlight')

models.py

class Comment(models.Model):
    post = models.ForeignKey('blog.Post', related_name='related_comments')
    author = models.ForeignKey(User, related_name='related_commentwriter')
    text = models.TextField(max_length=500)
    created_date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.text

另外,我正在使用django rest auth。

为什么会出现此错误?怎么解决呢?

谢谢阅读。

安娜·弗拉切娃(Anna Vracheva)

您无法在author字段中创建带有null的Comment实例为了解决这个问题,您可以在创建新评论时添加作者

class CommentSerializer(serializers.HyperlinkedModelSerializer):
...................

def create(self, validated_data):
    validated_data['author'] = self.context['request'].user
    return super(CommentSerializer, self).create(validated_data)

post字段相同

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

django.db.utils.IntegrityError:关系“ movie_movie”的列“ author_id”中的空值违反了非空约束,不知道为什么会这样

来自分类Dev

列“ user_id”中的空值违反了Django 1.9中的非空约束

来自分类Dev

“ owner_id”列中/ new空值处的Django IntegrityError违反了非空约束

来自分类Dev

Django-IntegrityError:“ user_id”列中的空值违反了非空约束

来自分类Dev

列“ user_id”中的Django空值违反了非空约束

来自分类Dev

Django:“ user_id”列中的空值违反了非空约束

来自分类Dev

Django-列中的空值违反了Django Admin中的非空约束

来自分类Dev

Django-列中的空值违反了Django Admin中的非空约束

来自分类Dev

Django - “wins”列中的空值违反了非空约束

来自分类Dev

Django 自定义用户模型:IntegrityError:“is_superuser”列中的空值违反了非空约束

来自分类Dev

在DRF(django-rest-framework)中,AttributeError'str'对象没有属性'~~'如何解决?

来自分类Dev

是否在Django Rest Framework(DRF)中过滤代码示例优化问题

来自分类Dev

通过在 DRF 中扩展用户模型进行身份验证(Django Rest Framework)

来自分类Dev

Django-Rest-Framework,POST操作:字段不为空,但DRF表示必填

来自分类Dev

Django REST Framework(DRF):将当前用户ID设置为字段值

来自分类Dev

错误:“ id”列中的空值违反了非空约束

来自分类Dev

Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

来自分类Dev

500错误:“ timeline_id”列中的空值违反了非空约束

来自分类Dev

Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

来自分类Dev

如何在Django Rest Framework(DRF)中为ModelSerializers编写自定义字段验证,类似于Django中的表单验证?

来自分类Dev

如何解决错误:(psycopg2.errors.NotNullViolation)列“ id”中的空值违反了非空约束?

来自分类Dev

在Django Rest Framework中筛选多个值

来自分类Dev

“ last_login”列中的空值违反了非空约束

来自分类Dev

使用upsert时,“ created_at”列中的空值违反了非空约束

来自分类Dev

WSO2AM 分析 2.1 - “os”列中的空值违反了非空约束

来自分类Dev

如何在Django Rest Framework(DRF)中创建有助于OneToOne关系的两个模型的新实例?

来自分类Dev

从Django Rest Framework响应中删除空字段

来自分类Dev

Django REST Framework UserSerializer中的keyerror

来自分类Dev

在Django Rest Framework中持续登录

Related 相关文章

  1. 1

    django.db.utils.IntegrityError:关系“ movie_movie”的列“ author_id”中的空值违反了非空约束,不知道为什么会这样

  2. 2

    列“ user_id”中的空值违反了Django 1.9中的非空约束

  3. 3

    “ owner_id”列中/ new空值处的Django IntegrityError违反了非空约束

  4. 4

    Django-IntegrityError:“ user_id”列中的空值违反了非空约束

  5. 5

    列“ user_id”中的Django空值违反了非空约束

  6. 6

    Django:“ user_id”列中的空值违反了非空约束

  7. 7

    Django-列中的空值违反了Django Admin中的非空约束

  8. 8

    Django-列中的空值违反了Django Admin中的非空约束

  9. 9

    Django - “wins”列中的空值违反了非空约束

  10. 10

    Django 自定义用户模型:IntegrityError:“is_superuser”列中的空值违反了非空约束

  11. 11

    在DRF(django-rest-framework)中,AttributeError'str'对象没有属性'~~'如何解决?

  12. 12

    是否在Django Rest Framework(DRF)中过滤代码示例优化问题

  13. 13

    通过在 DRF 中扩展用户模型进行身份验证(Django Rest Framework)

  14. 14

    Django-Rest-Framework,POST操作:字段不为空,但DRF表示必填

  15. 15

    Django REST Framework(DRF):将当前用户ID设置为字段值

  16. 16

    错误:“ id”列中的空值违反了非空约束

  17. 17

    Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

  18. 18

    500错误:“ timeline_id”列中的空值违反了非空约束

  19. 19

    Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

  20. 20

    如何在Django Rest Framework(DRF)中为ModelSerializers编写自定义字段验证,类似于Django中的表单验证?

  21. 21

    如何解决错误:(psycopg2.errors.NotNullViolation)列“ id”中的空值违反了非空约束?

  22. 22

    在Django Rest Framework中筛选多个值

  23. 23

    “ last_login”列中的空值违反了非空约束

  24. 24

    使用upsert时,“ created_at”列中的空值违反了非空约束

  25. 25

    WSO2AM 分析 2.1 - “os”列中的空值违反了非空约束

  26. 26

    如何在Django Rest Framework(DRF)中创建有助于OneToOne关系的两个模型的新实例?

  27. 27

    从Django Rest Framework响应中删除空字段

  28. 28

    Django REST Framework UserSerializer中的keyerror

  29. 29

    在Django Rest Framework中持续登录

热门标签

归档