2017-07-27 6 views
1

ストライプを使用するテストウェブサイトと、サブスクリプションの支払いにdjstripe 0.8.0があります。djstripeのお客様は削除されていません

支払いシステムが動作しているかどうかをテストするためのテストデータを設定しました。

その後、私はストライプテストデータを削除しました。

しかし、私はDjangoの管理コンソールを開き、>顧客をdjstripeに移動したときに、私が表示された次のレコードを持っていないが、それらに添付なしのユーザー/顧客:

enter image description here

レコードがではありません対応するデータベーステーブル。私はストライプとデータベース自体から顧客を削除しました。まだこれらのレコードを取り除くことはできません。

私は、レコードにアクセスしたり、管理コンソールからレコードを削除しようとすると、私は次のエラーメッセージが表示されます。

はAttributeError:「NoneType」オブジェクトが

File "C:\Users\me\desktop\myappname\env3\lib\site-packages\djstripe\settings.py", line 94, in get_subscriber_model_check_subscriber_for_email_address(subscriber_model, "The customer user model must have an email attribute.") 
    File "C:\Users\me\desktop\myappname\env3\lib\site-packages\djstripe\settings.py", line 70, in _check_subscriber_for_email_address 
    if ("email" not in subscriber_model._meta.get_all_field_names()) and not has attr(subscriber_model, 'email'): 
AttributeError: 'Options' object has no attribute 'get_all_field_names' 
何の属性「電子メール」を持っていませんが

これらのレコードを削除するにはどうすればよいですか?

答えて

0

最初、私はレコードを削除について最新djstripeバージョン(私はそれが今のように1.0.0だと信じて)

への更新をお勧めしたい:、djstripeからmodels.py クラスカスタマーに探し それはdefault_source(すなわちストライプカスタマー)を削除すると、それはon_delete = SET_Nに設定されているようdjstripeテーブル

class Customer(StripeCustomer): 
... 
default_source = ForeignKey(StripeSource, null=True, related_name="customers", on_delete=SET_NULL) 

から顧客を削除するために意図されていないことは明らかですULL

私は、私が思う一般的には(Github djstripe)ソフトウェアを

をdjstripe(authors)の著者に手を差し伸べる(ダニエル・グリーンフィールドは素晴らしい人である)、または対応するGitHubのページで問題を引き上げるのいずれかサブスクリプションの削除を開始します。 Stripeインターフェイスでそれらを削除すると、あなたのコードとdjstripeがコールドオープンで問題なく残されます:)

ハードコアの修正として、対応するデータベースに直接移動してそれらのレコードを削除します。

関連する問題