2016-11-07 16 views
0

抽象的なDjangoモデルをパラメータで作成できますか?メタメタクラスのように?Djangoでパラメータを持つ抽象モデル

class Parent(models.Model): 
    field1 = CharField(max_length=100, default=MY_STRING) 
    field2 = CharField(max_length=100, default=MY_STRING + ' lorem ipsum') 
    field3 = IntegerField(default=5) 

    class Meta: 
     abstract = True 

class Child(Parent(MY_STRING='abc')): 
    # now it should have: 
    # field1 with default value "abc" 
    # field2 with default value "abc lorem ipsum" 
    # field3 with default value 5 
+1

短い答え:いいえ。あなたがメタクラス、クラスデコレータ、monkeypatchesなどで、いくつかの邪悪なジャンボのthangsをやっていない限り、それは... –

答えて

0

デフのinit(自己、*引数)を使用して...これが本当の悪い考えですが、あなたは本当にあなたのアプリをモンキーパッチする必要がある場合: 「」」 私のカスタムコードが行きますここでは... ""」oficialドキュメントのカスタムモデルフィールドについて

読む... https://docs.djangoproject.com/en/1.10/howto/custom-model-fields/

関連する問題