ValueError:以10为基数的int()的无效文字:'category'

时间:2019-06-25 00:34:10

标签: python django django-models django-rest-framework django-views

我正在使用python 3.7 Django 2.2 django rest框架3.9.4

运行后:

python manage.py migrate

出现错误:

ValueError:以10为底的int()无效文字:“类别”

这是我的模特

class Category(models.Model):
    name = models.CharField(max_length=40, default='', verbose_name="类别名", help_text="类别名")  # 分类名

    class Meta:
        verbose_name = "分类"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name


class Article(models.Model):
     ...code...
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name="cate", blank=True, verbose_name='分类',
                                 default='')
    ...code...

    class Meta:
        ordering = ['-add_time']
        verbose_name = "新闻"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.title  # 在后台中以文章标题显示

这是我的serizalizers.py

class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = "__all__"

class ArticleSerializer(serializers.ModelSerializer):
    # 外键相关对象
    tag = TagSerializer(many=True)
    category = CategorySerializer()

    class Meta:
        model = Article
        fields = "__all__"

任何朋友都能帮忙吗?

2 个答案:

答案 0 :(得分:1)

我认为错误是您正在将类别外键的默认值定义为Reject,而默认值应为''。另外,您应该设置None而不是null = True

blank = True

答案 1 :(得分:0)

删除迁移,然后再次运行迁移。