2016-06-13 28 views
1

私は、Pinax Stripe(https://github.com/pinax/pinax-stripe)を使ってdjangoアプリケーションを開発しています。 Pinaxストライプは、 'Plans'というモデルを持つバンドルアプリケーションです。今では私のアプリケーションでは、元のpinaxストライプアプリケーションを変更せずに、アプリケーション内のモデル 'Plans'にいくつかの追加フィールドを追加したいと考えています。このような余分なフィールドを拡張してDjangoモデルに追加するには?

何か:

#models.py 
from pinax-stripe.models import Plan 

class UserProfile(models.Model): 
    #write the extra fields here 

が、私はそれを行うと、私は管理パネルでそれらのフィールドにデータを追加することができますので、管理に登録することができます任意の方法はありますか?

答えて

0

あなたはPlanモデルを継承し、独自の属性を追加することができます。

from pinax-stripe.models import Plan 

class MyPlan(Plan): 
    # add your attributes 
    pass 

これは、Pythonの通常の継承のように動作し、プラスあなたは、マイグレーションを実行したときに、元のpinax Planがサブクラスであるため、カスタム属性が移行されますmodels.Modelです。

しかし、あなたの新しいモデルが自動的にPlanからすべてattibutesがかかりますし、Djangoは、重複フィールドの移行を書き込むことができないので、すでに、pinax Planモデルに存在する属性名を使用しないように注意してください。

+0

Thankyou @Moses pinaxストライプについて知っているので、どうすれば私の計画に計画を追加することができますか? – Elisha512

+0

@ Elisha512残念ながら、私は 'pinax-stripe'を使用する理由は一度もないので、実際にはそれについてはあまりよく分かりません。 –

0

あなたは、単にPlanをサブクラス化し、あなたが好きなフィールド/メソッドを追加することができます

は、私はあなたをお勧めします
from pinax-stripe.models import Plan 

class UserProfile(Plan): 
    #write the extra fields here 
0

を使用しますをあなたのアプリに追加し、必要に応じてmodels.pyとadmin.pyファイルを編集します。

関連する問題