2016-07-20 7 views
-1

を呼び出すことができるdjangofsmフィールドを持つクラスから継承していないジャンゴ:私は抽象Djangoのモデルを持っているの移行

from django_fsm import FSMField, transition 
from django.db.models import Model, NullBooleanField, TextField 

class ApprovalMixin(Model): 
    status = FSMField(default='new') 
    is_approved = NullBooleanField(blank=True, null=True) 

class Meta: 
    """Meta Attributes""" 
    abstract = True 

それから私は別のモデルでは、このクラスをinheringています:

class Request(ApprovalMixin): 
    notes = TextField(blank=True, null=True, help_text="ts notes") 

@transition(field=status, source='new', 
      target='rejected') 
def manager_rejection(self): 
    pass 

次のエラーが表示されます。 NameError:名前 'status'が定義されていませんこれはなぜですか? ApprovalMixinから継承しているので、statusはRequestモデルの一部である必要があります。私が間違っているなら、この仕事をどうやって作るのか教えてください。ジャンゴ-FSMのドキュメントから

+0

あなたはインデントを修正でした(いずれかの質問、またはコードで) – ashwoods

+0

はインデンデーションは罰金だ@ashwoods。モデルファイルに貼り付けるだけでコピーできます –

答えて

2

The field parameter accepts both 
a string attribute name or an actual 
field instance. 
+0

ありがとうございました。たくさん :) –

関連する問題