2011-11-14 12 views
1

私はPractical Django Projectsの本と一緒に追ってきました。非常に良い本ですが、バグが多いようです。幸いにも、このウェブサイトにはいくつかの修正があります:https://bitbucket.org/philgyford/practical-django-projects/src。私の最新のエラーがある:save() got an unexpected keyword argument 'force_insert'Djangoエラー:save()は予期しないキーワード引数 'force_insert'を持っています

オリジナルのコードは:私もコメント解除しようとした

def save(self, *args, **kwargs): 
     if not 'force_insert' in kwargs: 
     kwargs['force_insert'] = False 
     if not 'force_update' in kwargs: 
     kwargs['force_update'] = False 
     # del kwargs['force_insert'] 
     if not self.id: 
     self.pub_date = datetime.datetime.now() 
     self.updated_date = datetime.datetime.now() 
     self.description_html = markdown(self.description) 
     self.highlighted_code = self.highlight() 
     super(Snippet, self).save(*args, **kwargs) 

class Snippet(models.Model): 
    title = models.CharField(max_length=255) 
    language = models.ForeignKey(Language) 
    author = models.ForeignKey(User) 
    description = models.TextField() 
    description_html = models.TextField(editable=False) 
    code = models.TextField() 
    highlighted_code = models.TextField(editable=False) 
    pub_date = models.DateTimeField(editable=False) 
    updated_date = models.DateTimeField(editable=False) 
    objects = managers.SnippetManager() 
    tags = TagField() 

    class Meta: 
     ordering = ['-pub_date'] 

    def __unicode__(self): 
     return self.title 

    def save(self, force_insert=False, force_update=False): 
     if not self.id: 
      self.pub_date = datetime.datetime.now() 
     self.updated_date = datetime.datetime.now() 
     self.description_html = markdown(self.description) 
     self.highlighted_code = self.highlight() 
     super(Snippet, self).save(force_insert, force_update) 

    @models.permalink 
    def get_absolute_url(self): 
     return ('cab_snippet_detail',(), { 'object_id': self.id }) 

    def highlight(self): 
     return highlight(self.code, 
         self.language.get_lexer(), 
         formatters.HtmlFormatter(linenos=True)) 

# See http://blog.sveri.de/index.php?/categories/2-Django 
tagging.register(Snippet, tag_descriptor_attr='etags') 

は私が(エラーを取り除くしようとして)保存方法を変更しました#デルビット、これも助けにはならない。私はDjango 1.3.1を使っています。なぜ私はこのエラーが発生しているすべてのアイデア?

答えて

1

2つのifステートメントとdel行を取り除いても、保存オーバーライドの2番目のバージョンは問題ありません。

まだ動作しない場合は、開発サーバーが実際にmodels.pyファイルを再ロードしていることを確認してください。最も速い方法は、実行中のものをCTRL + Cしてからpython manage.py runserverを再度呼び出すことです。それは重要ではありませんが、新しいコードが確実に実行されていることを確かめるために、models.pyc(models.pyのコンパイル済みバージョン)も取り除きたいかもしれません。

実用的なDjangoプロジェクトは全体的に優れた本ですが、この時点で非常にです。学ぶために、より新しいリソースを探したいかもしれません。

+0

自分で修正しましたが、これはスニペットモデルを使用しているので、ブックマークモデルでも同様に行う必要がありました。 – Superdooperhero

関連する問題