2016-09-21 13 views
0

私はこのようなモデルを持っている:Djangoの管理カスタムビュー

class Product(models.Model): 
    ... 
    id = models.IntegerField(unique=True) 
    ... 

class Question(models.Model): 
    product = models.ForeignKey(Product, related_name='question', null=True) 
    answer = models.ForeignKey(Answer, related_name='question', blank=True, null=True) 
    user = models.ForeignKey(User, null=True) 
    text = models.TextField(null=True) 
    ... 

class Answer(models.Model): 
    user = models.ForeignKey(User, null=True) 
    text = models.TextField(null=True) 
    ... 

すべてのこれらのモデルは、Djangoのadminに登録されています。 (/管理/ QA /質問/ 1 /変更/)質問の1を編集中 はどのようにしてカスタムレポートテーブルを取得することができます。

... 
editable standart_fields from Question model 
... 
non-standart report(without editable fields): 
all questions:     related answers to them 
User: Question(related to a product) - User: Answer to it 
User: Question(if it exists)   - User: answer to it 

それはadminサイトで可能ですか?

答えて

1

あなたは質問にカスタムModelAdminのを作成する必要がありhttps://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formで説明したように、フォームプロパティをオーバーライドします。

ModelAdmin.get_form()を使用して動的に作成したフォームを取得し、Djangoのフォームフレームワークを使用して、必要なレポートを追加する必要があります。