我正在使用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__"
任何朋友都能帮忙吗?
答案 0 :(得分:1)
我认为错误是您正在将类别外键的默认值定义为Reject
,而默认值应为''
。另外,您应该设置None
而不是null = True
。
blank = True
答案 1 :(得分:0)
删除迁移,然后再次运行迁移。