python - 以 10 为基数的 int() 模型 Django 无效文字 : 'None'

标签 python django django-models

我是 Django 的新手,我想在这里写一个博客是我的模型

from django.db import models
from django.contrib.auth.models import User


class UserProfile(models.Model):
    name = models.OneToOneField(User)

    def __unicode__(self):
        return self.user.user_name


class Category(models.Model):
    category = models.CharField(max_length=150)

    def __str__(self):
        return self.category


class Blog(models.Model):
    title = models.CharField(max_length=150, default="No title")
    body = models.TextField(default="None")
    creation_date = models.DateTimeField(auto_now_add=True)
    author = models.ForeignKey(UserProfile, default=1)
    category = models.ForeignKey(Category, default="None")

    def __str__(self):
        return self.title


class Comment(models.Model):
    comment = models.TextField(default="")
    blog = models.ForeignKey(Blog)

但是当我运行命令时:

python manage.py migrate

我明白了

ValueError: invalid literal for int() with base 10: 'None'

我尝试删除旧的迁移文件并再次迁移,但出现同样的错误,我该怎么办?

最佳答案

代替 default="None",指定 null=True 以允许外键为 null:

category = models.ForeignKey(Category, null=True)

关于python - 以 10 为基数的 int() 模型 Django 无效文字 : 'None' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187765/

相关文章:

python - Sklearn 将 Pandas Dataframe 和 CSR 矩阵拆分为测试和训练集

Django - 用作表达式的子查询返回不止一行

django - 如何将 Django 控制台的所有日志写入自定义文件?

python - 具有 null=True 的 OneToOneField 不允许空字段

apache 上的 django - 管理页面链接可见但不可点击

python - python中的负战俘

Python C++ 扩展单例

python - 在 python plt.plot 中使用系列作为标记大小

python - Django 1.9 中的 query.group by

django - InlineModelAdmin 未显示在管理页面上