2016-08-28 9 views
3

私はここのブログを作るためにトリング午前、ジャンゴに新しいですが、私のモデルモデルDjangoのint型のための無効なリテラル():私は、コマンドを実行したときに「なし」

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) 

ではありませんが、:

私は

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

私は何をすべき、私は昔の移行ファイルを削除して、もう一度移行してみましたが、私は同じエラーを得たの?取得

代わりにdefault="None"

答えて

6

、外部キーにnullを許可するようにnull=Trueを指定:

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

私はそれをしなかったが、同じ問題が、私は戻ってトレースにすべてのディレクトリは、Python 3.5を参照している何かに気づいたと私は考えますPython 2.7を使用している!これは関連していると思いますか? –

+0

@HossamSalah、移行ファイル( /migration/000n_migration_file.py)を削除して再生成してください。 – falsetru

+0

それは働いた、おかげです、私の一日を救った:D –

関連する問題