Djangoのモデルシンタックス変更

2005/08/26 01:39

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

djangoのModelシンタックスが、revision549から変更になったようです。

#549以前のモデルの記述方法では動かなくなっています。

今回の変更に関する記述

http://www.djangoproject.com/weblog/2005/aug/25/modelsyntax/

http://code.djangoproject.com/wiki/ModelSyntaxChangeInstructions

python臭さが薄れ、構造的には美しくなったような気がします。

リリースバージョン(1.0)の後は後方互換性を保つようにするとの事です。

    class Foo(meta.Model):
        fields = (
            meta.CharField('first_name', "The person's first name", maxlength=30),
            meta.CharField('last_name', maxlength=30),
            meta.ForeignKey(Bar),
            meta.ManyToManyField(Sites),
        )
        ordering = ('-bar_id',)
        admin = meta.Admin(
            fields = (
                (None, {'fields': ('first_name', 'last_name', 'bar_id', 'sites')}),
            ),
        )

        def __repr__(self):
            return self.first_name
    class Foo(meta.Model):
      first_name = meta.CharField("The person's first name", maxlength=30)
      last_name = meta.CharField(maxlength=30)
      bar = meta.ForeignKey(Bar)
      sites = meta.ManyToManyField(Sites)
      class META:
          ordering = ('-bar',)
          admin = meta.Admin(
              fields = (
                  (None, {'fields': ('first_name', 'last_name', 'bar', 'sites')}),
              ),
          )

      def __repr__(self):
          return self.first_name

Prev Entry

Next Entry