无法创建条目

时间:2016-08-04 07:26:23

标签: python django sqlite

Django版本1.10,python版本3.4

我在manage.py shell中键入并执行此代码:

from tweet.models import Tweet
tweet = Tweet("Parse JSON like a boss", "Admin")
tweet.save()

并收到错误消息:

  

对于带有基数10的int()的无效文字:'Parse JSON就像一个Boss'

models.py:

class Tweet(models.Model):
    text = models.TextField()
    pub_time = models.DateTimeField(auto_now_add=True)
    author = models.CharField(max_length=100)

    class Meta:
        ordering = ['-pub_time']

2 个答案:

答案 0 :(得分:4)

如果没有为模型中的所有字段指定值,则应将您拥有的值作为名称值对发送。

Tweet(text="Parse JSON like a boss", author="admin")

事实上,最好始终这样做,以便将来对模型的更改不会破坏您的代码。这也是manual中推荐的方式:

  

要创建模型的新实例,只需将其实例化即可   其他Python类:

     

class Model(** kwargs)[source]¶关键字参数只是   您在模型上定义的字段的名称。注意   实例化模型绝不会触及您的数据库;为此,你   需要保存()。

答案 1 :(得分:0)

如果你不使用kwargs,那么django会按照你在内部字段字典(Source Code)内的字段相同的顺序迭代你提供的args,

它似乎正在尝试将您的文本分配给id参数,该参数只接受整数。

所以是的,正如e4c5所示,你最好不要使用kwargs。