2017-12-18 19 views
1

私は、DjangoのadminにOneToOneFieldの親との関係を持つインラインモデルを持っています。djangoから別のものを削除するadmin

class Child(models.Model): 
parent = models.OneToOneField(Parent) 
received_on = models.DateField(null=True,) 
管理インラインで

私はこのような何かを行っているので、「別のボタンを追加」を表示したくない: -

class CampaignInfluencerShippingTrackingInline(admin.TabularInline): 
    model = Child 
    can_delete = False 
    extra = 0 
    fields = ['received_on'] 

    def has_add_permission(self, request): 
     return False 

をしかし、まだ問題がである別のボタンを追加表示されます親との関係はと同じコードで試してみるとOneToOneFieldが表示されていますが、別のボタンが表示されていませんが、常に表示されています。OneToOneField

どのように動作しているのか、私がインラインの子から別のボタンを削除するために何ができるのか教えていただけますか?

モデルをインラインで追加することはできますが、私の質問はインラインモデルから「別のボタンを追加」を削除する方法に関連しています。

+0

django-adminのテンプレート/ admin/edit_inline/stacked.htmlまたはtemplate/admin/edit_inline/tabular.htmlを上書きする必要がある場合は、** template **フォルダ(django-adminフォルダの正確なコピーテンプレートフォルダ)をフォルダに入れ、そのボタンコードを持つinner template/htmlファイルを上書きします。この変更に対してdjangoのドキュメントは見つかりませんでした。 –

答えて

0

Childを正しく追加できるように、インラインで使用しますか?これはうまくいくはずです:

extra = 0は、おそらくあなたをトリッピングしています。これを含めると、フォームは表示されません。インラインの見出し(「チャイルド」)、テーブルヘッダー(「受信済」)、および「別の子を追加」のリンクのみが表示されます。リンクをクリックすると、リンクが消えてフォームが表示されます。あなたが期待するように、それは実際には1人の子供に限られています。

+0

ユニティ管理者から追加オプションを削除したいのですが、APIを使用して子を追加することができます。 – Avi

関連する問題